MySQL邏輯架構

提及MySQL的查詢優化,相信你們收藏了一堆奇技淫巧:不能使用SELECT *、不使用NULL字段、合理建立索引、爲字段選擇合適的數據類型… 你是否真的理解這些優化技巧?是否理解其背後的工做原理?在實際場景下性能真有提高嗎?我想未必。於是理解這些優化建議背後的原理就尤其重要,但願本文能讓你從新審視這些優化建議,並在實際業務場景下合理的運用。緩存

MySQL邏輯架構

若是能在頭腦中構建一幅MySQL各組件之間如何協同工做的架構圖,有助於深刻理解MySQL服務器。下圖展現了MySQL的邏輯架構圖。安全

在這裏插入圖片描述
MySQL邏輯架構總體分爲三層,最上層爲客戶端層,並不是MySQL所獨有,諸如:鏈接處理、受權認證、安全等功能均在這一層處理。服務器

MySQL大多數核心服務均在中間這一層,包括查詢解析、分析、優化、緩存、內置函數(好比:時間、數學、加密等函數)。全部的跨存儲引擎的功能也在這一層實現:存儲過程、觸發器、視圖等。架構

最下層爲存儲引擎,其負責MySQL中的數據存儲和提取。和Linux下的文件系統相似,每種存儲引擎都有其優點和劣勢。中間的服務層經過API與存儲引擎通訊,這些API接口屏蔽了不一樣存儲引擎間的差別。ide

相關文章
相關標籤/搜索