mysql多个事务同时执行死锁(间隙锁)
假设场景mq消息广播,消费者同时插入同一条数据,某一个事务死锁。开始分析原则1:加锁的基本单位是next-key lock(next-key lock是前开后闭区间)。原则2:查找过程中访问到的对象才会加锁。优化1:索引上的等值查询,给唯一索引加锁的时候,next-key lock退化为行锁。优化2:索引上的等值查询,向右遍历时且最后一个值不满足等值条件的时候,next-key lock退化为间隙锁。demoCREATE TABLE `t` ( `id` int(11) NOT NULL