MySQL为什么会产生脏读?

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

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

阅读 5.9k
1 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题