锁
锁机制相关
锁机制相关
首先分析一下这个场景的加锁情况和死锁原因,然后对于差异的点进行展开,最后总结 insert 的加锁情况(关于 insert 的加锁行为,其实不像 delete 那样简单清晰,里面有一些需要注意的点)。
AHI 的全局锁 btr_search_latch 经常会是竞争热点影响性能,5.7版本后有所改善与 InnoDB buffer 一样做了多实例拆分。本案例在开启 Innodb_stats_on_metadata 参数,查询元数据信息时触发统计信息更新,上锁数据字典,阻塞了了大量业务操作,又由于 buffer pool 空间不足,导致表驱逐旧页触发 AHI 的 btr_search_latch 锁竞争,最终导致信号量超时 crash。