1、 查看事务状态
select * from information_schema.innodb_trx\G
2、 gap lock 解决 RR隔离级别的幻读
3、 半一致性读
-
semi-consistent read 是 RC 与 RR 的结合。
-
update语句如果读到一行已经加锁的记录,此时InnoDB返回这行记录的最新版本,并两次判断此版本是否满足update的where条件,满足的话,加锁,更新数据。
-
semi-consistent read 发生的条件:
- <= RC级别
- 或者 innode_locks_unsafe_for_binlog=1时(8.0之前)
- 并且只能是update请求(不含insert、delete)
-
半一致性读是为了提高没索引时的update效率。
4、 脏读
读到未提交的数据
5、 不可重复读
RC级别在一个事务中,同一条记录,读两次,结果不一样。
6、 幻读
rc级别,读两次,结果记录数不一致。
网友评论