千家信息网

InnoDB事务锁之行锁-delete流程update阶段加锁

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1、介绍delete流程分search和update两个阶段。在search阶段对聚集索引记录加锁,参考上一篇文章。在update阶段会对聚集索引记录打上delete标签,然后search二级索引记录
千家信息网最后更新 2026年11月01日InnoDB事务锁之行锁-delete流程update阶段加锁

1、介绍

delete流程分search和update两个阶段。在search阶段对聚集索引记录加锁,参考上一篇文章。在update阶段会对聚集索引记录打上delete标签,然后search二级索引记录,对二级索引记录加隐式锁,即不加锁,最后将二级索引记录打上delete标签

点击(此处)折叠或打开

  1. mysql_delete::
  2. //rr_quick->...->row_search_for_mysql
  3. while (!(error=info.read_record(&info)) && !thd->killed &&! thd->is_error()){
  4. ...
  5. //...->row_update_for_mysql
  6. error= table->file->ha_delete_row(table->record[0]);
  7. ...
  8. }

2、加锁原理流程图

0