MySQL在Read Uncommitted级别下写操作加X锁
很多文章认为MySQL在读未提交(Read Uncommitted)的隔离级别下,写操作是不加锁的,然而实际上并不是,在RU级别下,写操作加有X锁。
实践出真知
以前,我也认为RU隔离级别下,写操作不会加锁。偶然间,看到一篇优质的文章《查看Mysql正在执行的事务、锁、等待》,文章介绍了查看锁的语句:
select * from information_schema.innodb_locks;
实验表:test
session 1
设置session隔离级别为RU,开启事务,更新,但不commit。
session 2
设置session隔离级别为RU,开启事务,更新,等待锁。
查询目前的锁情况
可以看到:在RU级别下,写操作有X锁
参考文章
查看Mysql正在执行的事务、锁、等待
作者: Acode
出处: http://www.cnblogs.com/acode/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可留言咨询.