不少文章认为MySQL在读未提交(Read Uncommitted)的隔离级别下,写操做是不加锁的,然而实际上并非,在RU级别下,写操做加有X锁。sql
之前,我也认为RU隔离级别下,写操做不会加锁。偶然间,看到一篇优质的文章《查看Mysql正在执行的事务、锁、等待》,文章介绍了查看锁的语句:session
select * from information_schema.innodb_locks;
实验表:test3d
设置session隔离级别为RU,开启事务,更新,但不commit。code
设置session隔离级别为RU,开启事务,更新,等待锁。orm
能够看到:在RU级别下,写操做有X锁blog
参考文章
查看Mysql正在执行的事务、锁、等待事务