Innodb锁系统 Insert/Delete 锁处理及死锁示例分析
?
C.释放锁
在事务提交或回滚时,会释放记录锁,调用函数为lock_release_off_kernel
函数的逻辑很简单,遍历trx->trx_locks。
对于记录锁,调用lock_rec_dequeue_from_page(lock)
–>从lock_sys中删除
–>检查lock所在page上的等待的锁对象是否能被grant(lock_grant),如果可以,则唤醒等待的事务。
对于表锁,调用lock_table_dequeue(lock)
转载自:?[MySQL学习] Innodb锁系统(4) Insert/Delete 锁处理及死锁示例分析