《MySQL DBA: 插入意向锁》

一、插入意向锁

1、插入意向锁(insert intention lock)

  • locks gap before rec insert intention waiting

  • 插入意向锁 本质 上就是个 Gap Lock

    • 普通Gap Lock 不允许 在 (上一条记录,本记录) 范围内插入数据

    • 插入意向锁Gap Lock 允许 在 (上一条记录,本记录) 范围内插入数据

  • 插入意向锁的作用是为了 提高并发插入的性能 , 多个事务 同时写入 不同数据 至同一索引范围(区间)内,并不需要等待其他事务完成,不会发生锁等待

  • MySQL :: MySQL 5.7 Reference Manual :: 14.7.1 InnoDB Locking

2、插入的过程

假设现在有记录 10, 30, 50, 70 ;且为 主键 ,需要插入记录 25

1、找到 小于等于25的记录 ,这里是 10

2、找到 记录10的下一条记录 ,这里是 30

3、

你可能感兴趣的:(【,MySQL,DBA,】,1024程序员节,mysql)