MySQL为什么会产生脏读?

Clive
  • 44

查阅资料:
1、MySQL事务具有隔离性,事务处理过程中的中间状态对外不可见;
2、MySQL脏读是指一个事务正在对一条记录做修改,在这个事务完成并提交前,这条记录的数据就处于不一致状态;这时,另一个事务也来读取同一条记录,如果不加控制,第二个事务读取了这些“脏”数据,并据此做进一步的处理,就会产生未提交的数据依赖关系。

疑问是:
既然事务具有隔离性,怎么还会读到其他事务未提交的“脏”数据?

回复
阅读 4.1k
1 个回答
✓ 已被采纳

这就涉及到事物的隔离级别了.隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大

事务隔离级别                    脏读     不可重复读    幻读
读未提交(read-uncommitted)    是        是            是
不可重复读(read-committed)    否        是            是
可重复读(repeatable-read)     否        否            是
串行化(serializable)          否        否            否

宣传栏