1.innodb主要使用两种锁机制:行级锁和表级锁。
InnoDB的行级锁类型主要有共享(S)锁
(又称读锁)、排他(X)锁(又称写锁)。共享(S)锁允许持有该锁的事务读取行;排他(X)锁允许
持有该锁的事务更新或删除行。InnoDB的行级锁是通过给
索引上的索引项加锁来实现的,只有通过索引条件检索数据才使用。在不通过索引条件查询的时候,
InnoDB使用的是表级锁,而不是行级锁。
2.innodb表级锁:在锁机制的实现过程中,为了让行级锁定和表级锁定共存,InnoDB使用了意向锁的概念。意向锁是表级锁,目的是为了防止DDL和DML的并发问题。
意向共享锁(IS Lock):事务想要获得一张表中某几行的共享锁,即事务有意向去给一张表中的
几行加S锁。
意向排他锁(IX Lock):事务想要获得一张表中某几行的排他锁,即事务有意向去给一张表中的
几行加X锁。