InnoDB事務鎖之行鎖-delete流程update階段加鎖

yzs87發表於2018-02-02

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、加鎖原理流程圖

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31493717/viewspace-2150807/,如需轉載,請註明出處,否則將追究法律責任。

相關文章