1. 程式人生 > >【MySQL技術內幕+InnoDB儲存引擎】學習記錄

【MySQL技術內幕+InnoDB儲存引擎】學習記錄

2018/11/18記錄:

花了一整週的時間看了《MySQL技術內幕+InnoDB儲存引擎》一書,本次只是對MySQL資料庫的整體有了進一步的認識,包括以下知識:

架構 的執行緒問題:主執行緒等

innodb的關鍵特性:插入緩衝、兩次寫、自適應雜湊、非同步IO、重新整理臨近頁

檔案:引數檔案、日誌檔案(error log    redo log   undo log等)、套接字檔案、pid檔案、表結構定義檔案、引擎檔案

表:儲存結構(段、區、頁、行)、行記錄格式、資料頁結構、約束(外來鍵索引等)、檢視、分割槽表

索引與演算法:資料結構、B+樹、聚類與輔助索引、雜湊演算法(索引)、全文檢索(索引)

鎖:innodb中的鎖(一致性(非)鎖定讀、自增長、外來鍵與鎖)、鎖的三種演算法(recorde lock 鎖單行記錄、gap lock 鎖範圍記錄、 next-key lock 前兩個相加 .可解決 幻讀 問題)、鎖的阻塞、死鎖的發生及解決(定時器 → 等待圖迴路檢測(深度優先))、鎖升級(降低細粒度鎖維護的記憶體開銷)

事務:四種特性(原子、一致、隔離、持久)、事務的實現(redo /undo /purge  刪除操作暫時只是做一個標記位/group commit  redo的合併提交 )、事務的控制語句、事務的四種隔離級別(不可提交讀 髒讀  、  可提交讀  不可重複讀  、 可重複讀  幻讀 、 序列化  完美  )隔離級別是通過加鎖的方式實現的、

備份:日誌比較重要、主從庫配置

效能調優:硬體支援、RAID、linux下的基準測試工具:sysbench、mysql-tpcc

原始碼編譯及除錯:略。