mysql中脏读、不可重复读、幻读以及四种隔离级别的浅显理解

这篇博客详细解释了MySQL中的事务以及四个隔离级别——读未提交、读已提交、可重复读和串行化,通过实例展示了脏读、不可重复读和幻读现象,并分析了各隔离级别如何避免这些问题。通过对不同事务隔离级别的操作,揭示了它们在并发场景下的行为差异,帮助读者深入理解数据库并发控制的重要性。
摘要由CSDN通过智能技术生成

mysql中:

事务:事务由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。这个单独单元成为不可分割的一个整体。
对于同时运行的多个事务,如果没有适当的隔离机制,就会引发如下问题:

  1. 脏读
  2. 不可重复度
  3. 幻读

mysql提供四种隔离级别,分别是

  1. read uncommitted 读未提交数据(什么也不能防止)
  2. read committed 读已提交数据(仅防止脏读)
  3. repeatable read 可重复度(仅防止脏读、不可重复读)
  4. serializable 串行化(防止脏读、不可重复度、幻读)

以下为四种隔离级别以及脏读、幻读、不可重复度的演示。
一、设置隔离级别为read uncommitted, 演示脏读
首先,开启两个命令行窗口(设黑色为A,蓝色为B)。均更改其隔离级别为read uncommitted
注:session表示仅在当前会话有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值