美文网首页
MySQL数据库事务,隔离级别学习记录。

MySQL数据库事务,隔离级别学习记录。

作者: kiki的进阶之路 | 来源:发表于2021-03-30 16:22 被阅读0次

    MySQL InnoDB 存储引擎的默认支持的隔离级别是 REPEATABLE-READ(可重读)
    命令SELECT @@transaction_isolation;查看数据库隔离级别。

    image.png

    InnoDB可以通过应用加锁读(例如 select * from table for update 语句)来保证不会产生幻读,而这个加锁度使用到的机制就是 Next-Key Lock 锁算法。从而达到了 SQL 标准的 SERIALIZABLE(可串行化) 隔离级别。

    如何显示的开启事务:
    START TARNSACTION |BEGIN 显示开启一个事务
    COMMIT 提交事务
    ROLLBACK 回滚,撤销为提交的操作

    READ-UNCOMMITTED(读取未提交):
    设置数据库事务的隔离级别为read uncommited

    image.png image.png

    READ-COMMITTED(读取已提交):
    设置数据库隔离级别:

    image.png
    image.png
    这样就会发生不可重复的问题,即在同一个事务里读取到的数据不一样

    REPEATABLE-READ(可重复读):
    设置数据库隔离级别

    image.png
    image.png

    相关文章

      网友评论

          本文标题:MySQL数据库事务,隔离级别学习记录。

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