记录锁、间隙锁、Next-key锁、Insert Intention Locks和AUTO-INC Locks是Intention Locks的一部分吗?
Are record locks, gap locks, Next-key locks, Insert Intention Locks and AUTO-INC Locks the part of Intention Locks?
根据MySQL的documentation,所有类型的锁都是不同类型的锁。但它们都使用 FOR SHARE 或 FOR UPDATE 指令作为意向锁。所以我无法理解记录锁、间隙锁、Next-key 锁、Insert Intention Locks 和 AUTO-INC Locks 是 Intention Locks 的一部分,或者这是完全不同类型的锁,但具有相同的语法
不,您混淆了意向锁和不同类型的实际锁!
正如您在问题中链接的 mysql 文档所说(重点是我的):
Intention locks are table-level locks that indicate which type of lock (shared or exclusive) a transaction requires later for a row in a table.
您列出的所有其他锁都是在执行插入、更新或删除语句时实际使用的锁。
根据MySQL的documentation,所有类型的锁都是不同类型的锁。但它们都使用 FOR SHARE 或 FOR UPDATE 指令作为意向锁。所以我无法理解记录锁、间隙锁、Next-key 锁、Insert Intention Locks 和 AUTO-INC Locks 是 Intention Locks 的一部分,或者这是完全不同类型的锁,但具有相同的语法
不,您混淆了意向锁和不同类型的实际锁!
正如您在问题中链接的 mysql 文档所说(重点是我的):
Intention locks are table-level locks that indicate which type of lock (shared or exclusive) a transaction requires later for a row in a table.
您列出的所有其他锁都是在执行插入、更新或删除语句时实际使用的锁。