美文网首页
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