美文网首页
MySQL事务隔离级别

MySQL事务隔离级别

作者: 柳经年 | 来源:发表于2019-11-21 14:34 被阅读0次

    MySQL事务隔离级别有4级

    1.读取未提交

    • 事务A新增一条记录,尚未提交,事务B可以读取
    • 别人还没提交,你就可以读了,造成脏读

    2.读已提交

    • 事务A新增一条记录,尚未提交,事务B不可以读取
    • 事务A新增一条记录,提交后,事务B可以读取

    3.可重复读

    • 相同事务,每次读取数据一致
    • 事务B在读取过程中(开始事务,读取过一次),事务A的写操作提交与否,事务B当前事务中都不可读取
    • 事务A已经更新了数据,但是事务B读的还是老数据,可重复读

    4.串行化

    • 事务B在读过程中(未提交),事务A的写操作会挂起等待
    • 事务B在读过程中(未提交),事务A的读操作正常
    • 事务B提交后,事务A写操作会执行成功
    • 事务A在写过程中(未提交),事务B的读操作会挂起等待
    • 事务A提交后,事务B读操作会执行成功

    总结:

    • 第1级别,一般不会用,脏读风险较高;
    • 第2级别,建议使用
    • 第3级别,MySQL默认级别,不过建议修改级别为读已提交
    • 第4级别,不建议使用,影响性能

    本文完。

    相关文章

      网友评论

          本文标题:MySQL事务隔离级别

          本文链接:https://www.haomeiwen.com/subject/hmhtwctx.html