1.mysql 單程序多執行緒
2.資料庫和例項的定義
3.mysql組成部門
連線池元件
管理服務和工具元件
sql介面元件
查詢分析器元件
優化器元件
緩衝(cache)元件
外掛程式式儲存引擎
物理檔案
4.innodb後台執行緒
master thread
io thread
purge【清理】 thread
page cleaner thread
5.重做日誌緩衝
master thread 每一秒將重做日誌緩衝重新整理到重做日誌檔案
每個事務提交時會將重做日誌緩衝重新整理到重做日誌檔案裡。
當重做日誌緩衝池剩餘空間小於1/2時,重做日誌緩衝重新整理到重做日誌檔案。
6.redo log與bin log
bin log 日誌會記錄所有與mysql資料庫有關的日誌記錄,包括innodb,myisam等其它儲存引擎的日誌。而innodb儲存引擎的重做日誌只記錄有關該儲存引擎本身的事務日誌。
bin log記錄的是乙個事務的具體操作內容,即該日誌的邏輯日誌。而innodb記錄關於每個頁的更改的物理情況。
bin log僅在事務提交前進行提交。只寫磁碟一次。而在事務進行過程中,卻不斷有重做日誌條目被寫入到重做日誌檔案中。
6.checkpoint(檢查點)
當資料庫發生宕機時,資料庫不需要重做所有日誌,因為checkpoint之前的頁都已經重新整理回磁碟。故資料庫只需要對checkpoint後的重做日誌進行恢復,大大縮減恢復的時間。縮短資料庫恢復時間
緩衝池不夠用時,將髒頁重新整理到磁碟
重做日誌不可用時,重新整理到髒頁
7.innodb邏輯儲存結構
所有資料都被邏輯地放在乙個空間,稱之為表空間
表空間8.innodb不支援hash索引
9.show index from 顯示索引資訊
主要字段
10. 優化器不使用索引的情況
Mysql技術內幕筆記
mysql由以下幾個部分組成 連線池元件 管理服務和工具元件 sql介面組價 查詢分析器組價 優化器組價 快取 cache 組價 外掛程式式儲存引擎 物理檔案。可以看出,mysql資料庫區別於其他資料庫的最重要的乙個特點就是其外掛程式式的表儲存引擎。儲存引擎是基於表的,而不是資料庫。是底層物理結構的...
MySQL技術內幕
innodb儲存引擎是事物安全的儲存引擎。innodb儲存引擎有多個記憶體塊,這些記憶體塊組成乙個很大的記憶體池,負責如下的工作 後台執行緒 innodb儲存引擎是多執行緒模型,因此他有多個不同的後台執行緒,負責處理不同的任務。記憶體日誌檔案 記錄mysql對某種條件做出響應時的檔案,如錯誤日誌檔案...
MySQL技術內幕(一)
1.mysql是一種可移植的資料庫,可在多種平台下使用,如linux,solaris,freebsd,mac,windows 2.資料庫和資料庫例項的區別 資料庫是指物理上儲存的檔案的集合 資料庫例項是由後台的執行緒 程序和共享記憶體區組成,操縱資料庫檔案。3.mysql區別於其他資料庫的最重要的特...