zoukankan      html  css  js  c++  java
  • 【笔记】mysql事务隔离级别

    1.事务隔离级别:

    一共4种

    read uncommitted

    read committed

    repeatable read

    serializable

    关于各种隔离级别的理解:

    https://www.cnblogs.com/rjzheng/p/9955395.html

    https://baijiahao.baidu.com/s?id=1611918898724887602&wfr=spider&for=pc

    自己的理解:

    read uncommitted:  事务a读取到了事务b未提交的改动,脏读

    read committed:事务a读取到了事务b提交后的改动

    repeatable read:事务a从头到尾查询结果一致,即便事务b做了改动甚至提交了。

    serializable:事务a所有动作执行完后,事务b才能执行,否则事务b的语句会hung住。

     

    补充说明,幻读可以通俗理解为,事务b提交之前,事务a读取到n条数据,但是事务b提交之后,事务a读取到非n条数据。

    幻读和repeatable read不是一回事。repeatable read是对读取的事务加锁,所以在其他事务改动之后,加锁的数据行不变。当时不加锁的数据行可能会改变。因此repeatable read保不齐会发生幻读。

     

    总结

    隔离级别 脏读 不可重复读 幻读
    read uncommitted  是
    read committed  是
    repeatable read  是
    serializable  否

     

    查看隔离级别的命令

    select @@tx_isolation;

    修改隔离级别

    set session transaction isolation level    (read uncommitted /  read committed /  repeatable read / serialized read )

  • 相关阅读:
    2019年第二周作业
    2019年pta作业第二题——求最大值及其下标
    2019春第十一周作业
    2019春第十周作业
    2019年寒假作业3
    2019年寒假作业2
    2019年寒假作业1
    我的老师
    自说
    Day16
  • 原文地址:https://www.cnblogs.com/liurong07/p/12910876.html
Copyright © 2011-2022 走看看