MySQL InnoDB update流程
以update test set idx = 2 where id=10;為例
1.
server層,語法解析,解析成mysql認識的語法,查詢什麼表,什麼欄位,生成查詢路徑樹,選擇最優查詢路徑
2.
InnoDB儲存引擎,判斷id=10這行對應的頁是否在快取池裡,如果不在,則將對應的頁從datafile中讀到InnoDB緩衝池中,並對相關記錄加獨佔鎖
3.
undo tablespace回滾段
,idx修改之前的值和對應的主鍵、事務id原來的資訊寫入undo tablespace回滾段
4.
更新快取頁中資料,並將更新記錄和生成的LSN值(日誌子序列號)
寫入log buffer。更新之後緩衝池裡的頁就是髒頁了。
5. 提交事務時,根據innodb_flush_log_at_trx_commit設定,用不同方式將log buffer中的更新記錄重新整理到redo log中
然後寫binlog ,寫完之後後開始binlog的commit,同步到磁碟
binlog同步後把binlog檔案和postition(binlog檔案內的位置)寫到redo log 中,然後在redo log寫入一個commit標誌,然後就完成了這個事務的提交。接下來釋放獨佔鎖
6.後臺i/o執行緒將快取中合適的髒頁重新整理到磁碟資料檔案中,如果開啟雙寫快取功能,需要先複製一份髒頁到雙寫緩衝區,等其中的資料落盤,再從緩衝池把髒頁重新整理到各個資料檔案中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69990629/viewspace-2744277/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL InnoDB Update和Crash Recovery流程MySql
- InnoDB update操作流程圖流程圖
- MySQL update資料時InnoDB內部的操作流程MySql
- mysql innodb之select for update nowaitMySqlAI
- mysql innodb新建索引堵塞update ,insert,deleteMySql索引delete
- MySQL -update語句流程總結MySql
- InnoDB事務鎖之行鎖-delete流程update階段加鎖delete
- MySQL·原始碼分析·InnoDB非同步IO工作流程MySql原始碼非同步
- 深入解讀MySQL InnoDB儲存引擎Update語句執行過程MySql儲存引擎
- MySQL 優化六(InnoDB 下 update 資料出現表鎖之優化)MySql優化
- MySQL InnoDB 索引MySql索引
- mysql update join優化update in查詢效率MySql優化
- mysql innodb索引高度MySql索引
- MySQL Deadlocks in InnoDBMySql
- 【MySQL】5.6.x InnoDB Error Table mysql.innodb_table_stats not foundMySqlError
- MySQL 常用的UPDATE操作MySql
- Mysql innodb引擎(二)鎖MySql
- MySQL InnoDB髒頁管理MySql
- MySQL InnoDB緩衝池MySql
- MySQL 5.7 InnoDB Tablespace EncryptionMySql
- mysql innodb的行鎖MySql
- MySQL InnoDB表的限制MySql
- MySQL InnoDB版本一覽MySql
- xtrabackup備份mysql innodbMySql
- Mysql之新增innodb支援MySql
- MySQL: InnoDB 還是 MyISAM?MySql
- Experts in MySQL and InnoDB Performance.MySqlORM
- MySQL InnoDB儲存引擎MySql儲存引擎
- Mysql update誤操作恢復MySql
- mysql INSERT ... ON DUPLICATE KEY UPDATEMySql
- MySQL查詢select語句的執行流程以及InnoDB記憶體結構MySql記憶體
- MySQL InnoDB表空間加密MySql加密
- Mysql innodb引擎(三) 事務MySql
- MySQL的show engine innodb statusMySql
- MySQL InnoDB記憶體配置MySql記憶體
- MySQL 配置InnoDB清理排程MySql
- MySQL InnoDB頁面大小配置MySql
- mysql innodb的行鎖(2)MySql