
- 第一層: 連接處理,授權認證,安全等
- 第二層: 大多數MySQL的核心服務功能都在這一層,包括查詢解析,分析,優化,緩存以及所有的內置函數,所有跨存儲引擎的功能都在這一層實現:存儲過程,觸發器,視圖。
- 第三層: 包含了存儲引擎,存儲引擎負責MySQL中數據的存儲和提取。服務器通過API與存儲引擎進行通信,這些接口屏蔽了不同存儲引擎之間的差異,存儲引擎包含了幾十個底層函數,用于執行諸如“開始一個事務”或“根據主鍵提取一行記錄”等操作,但存儲引擎不會去解析SQL,不同存儲引擎之間也不會相互通信,而只是簡單地響應上層服務器的請求
連接管理與安全性
每個客戶端連接都會在服務器進程中擁有一個線程,這個連接的查詢只會在這個單獨的線程中執行,客戶端連接到MySQL服務器時,服務器需要對其進行認證,認證基于用戶名,原始主機的信息和密碼。
優化與執行
MySQL會解析查詢,并創建內部數據結構(解析樹),然后對其進行各種優化,包括重寫查詢,決定表的讀取順序,以及選擇合適的索引。
參考資料: 高性能MySQL》1.2