• MySQL实战03の事务隔离级别


    提到事务,就会想到ACID(Atomicity、Consistency、Isolation、Durability,即原子性,一致性,隔离性,持久性)。

    SQL标准的事务隔离级别包括:

    读未提交:一个事务还没提交时,它做的变更就能被别的事务看到。
    读提交:一个事务提交之后,它做的变更才会被其他事务看到。
    可重复读:一个事务执行过程中,从事务开始到事务提交看到的数据是一致的。
    串行化:对于同一条记录,串行访问,读写都会加锁。

    Oracle默认隔离级别就是读提交,迁移到MySQL,需要修改隔离级别为读提交。将启动参数transaction-isolation值设置为READ-COMMITTED。

    可重复读场景

    对账功能中判断上个月的余额和本月余额的差额,是否与本月账单明细一致。在校对过程中,即使有用户交易,也不影响校对结果。

    事务隔离实现

    在MySQL中,实际上每条记录在更新的时候都会同时记录一条回滚操作。通过回滚操作,都可以得到前一个状态的值。同一条记录在系统中可以存在多个版本,就是数据库的多版本并发控制(MVCC)。
    避免长事务:长事务意味着系统里会存在很老的事务视图,占用大量存储空间。

    原文出处:https://time.geekbang.org/column/article/68963(极客时间专栏)

  • 相关阅读:
    css实现京东顶部导航条
    css盒布局-省份选择盘的实现
    css字体的属性
    css行高
    CSS定位(position)
    CSS-clear属性的作用
    2.b统计字符串长度
    rectangle类。java
    mysql 版本问题之sql-mode 导致 sql 语句报错
    根据一个表中同一字段的不同值进行统计!!!
  • 原文地址:https://www.cnblogs.com/yangjiming/p/10318378.html
Copyright © 2020-2023  润新知