mdl锁: meta data lock,用于保证表中元数据信息
行锁:
1.单个行记录的锁
共享锁和排他锁:行锁,(读锁(共享锁): S锁)和(写锁(排他锁): X锁)
意向锁: 表级锁,包括意向共享锁(IS)和意向排他锁(IX)
记录锁:是对索引记录的锁定。
间隙锁:行锁,是对索引记录之间的间隙的锁定,或者是对第一个或最后一个索引记录之前的间隙的锁定,READ COMMITTED使用
下一键锁:行锁,索引记录锁定加上索引记录之前的间隙上的间隙锁定,REPEATABLE READ事务隔离级别使用
插入意图锁:是一种用INSERT插入一行数据之前设置的间隙锁定
自动上锁:通过事务在表中AUTO_INCREMENT列获得一个特殊的表级锁
会话1的第一个操作获取该行的排他锁。会话2和3的操作都导致重复键错误,
并且都请求该行的共享锁。会话1回滚时,它将释放该行的排他锁,
并为会话2和3排队等待共享锁请求。
此时,会话2和3死锁:由于另一个持有共享锁,因此两个都无法获取该行的排他锁。
幻影行:同一事务同一条查询语句在事务未提交时,前后两次返回的查询结果不同