跟sqlserver的架構包括其中的元件很類似,可以參考 對照著記。
上圖來自
可以看到mysql server 體系結構也分為四層:
又分為四類(也類似sqlserver):
上述元件是如何協同工作的?來看乙個簡單的查詢在mysql中的生命週期:
connectors(即客戶端)對mysql server的監聽埠發起請求
在connection pool建立連線、分配執行緒,驗證使用者名稱密碼及庫表許可權
如果開啟了query_cache(8.0版本已廢棄),進行檢查,若有資料則直接返回,沒有則繼續往下執行
sql inte***ce接收sql語句並傳給parser進行解析和語法檢驗
optimizer對sql進行優化並選出較好的執行計畫
呼叫儲存引擎介面,開啟表,執行查詢,檢查儲存引擎快取中是否有對應快取記錄,有則返回,無則繼續執行
到磁碟物理檔案中尋找資料
找到所需資料後,先寫回儲存引擎快取。如果開啟了query_cache,也會進行寫入
通過sql inte***ce返回資料給客戶端
關閉表關閉執行緒
關閉連線
參考:《mysql 效能優化金字塔法則》
mysql 體系結構 了解MySQL體系結構
mysql 資料庫體系結構圖 mysql 由以下幾部分組成 1 connectors 不同語言中與 sql 的互動 show variables like connection variable name value character set connection utf8 collation c...
簡述mysql體系結構 MySQL體系結構
一 mysql登入方式 一 tcp ip方式 遠端 本地 mysql uroot poldboy123 h 10.0.0.51 p3306 二 socket方式 mysql uroot poldboy123 s tmp mysql.sock 二 例項介紹 例項 mysqld後台守護程序 主線程 ma...
軟體體系結構 軟體體系結構概論
開學到現在我已經上了三節軟體體系結構的課程,現在我想把自己學到的整理歸納一下。此篇隨筆對應於教材軟體體系結構概論一章。首先談一談我剛接觸這門課程是的感受。那就是 我靠 軟體也會有體系結構?以前只學過資料結構 演算法 基本的程式語言,覺得程式設計無非就是使用者給我需求,我便按照需求來程式設計序就好,從...