MySQL 高級(一)MySQL架構層次結構介紹
? mysql采用插件式的存盤引擎架構將查詢處理和其他的系統任務以及資料的存盤提取相分離,
1.MySQL的層次結構:
? 在對mysql進行優化前,需要對mysql的層次結構有一定了解,當問題出現時(等待時間長,查詢時間長),可以更好的定位到問題的位置,

-
連接層
? 最上層的連接層提供一些客戶端的連接服務,包含本地sockt通信和大多數基于客戶端/服務端工具實作的類似tcp/ip的通信,只要完成一些類似于連接處理、授權認證及相關的安全方案,在該層上引入了連接池的概念,為通過認證安全接入的客戶提供執行緒,同一在該層上可以實作基于SSL的安全鏈接,
-
服務層
? 第二層架構主要完成大多數的核心服務功能,如SQL介面,并完成快取的查詢,SQL的分析和優化以及部分內置函式的執行,又有跨存盤引擎的功能也在這一層實作,如程序、函式等,在該層,服務器會決議查詢并創建相應的內部決議樹,并對 其完成相應的優化如確定查詢表的順序、是否利用索引等,最后生成相應的執行操作,如果是select陳述句,服務器還會查詢內部的快取,如果快取空間足夠大,這樣在解決大量讀操作的環境中能很好的提示系統的性能,
-
引擎層
? 存盤引擎層,存盤引擎真正的負責了MySQL中資料的存盤和提取,服務器通過API與存盤引擎進行通信,不同的存盤引擎具有不同的側重點和功能,這樣我們可以根據自己的實際需要進行選取,主流引擎MyISAM和InnoDB
-
存盤層
? 資料存盤層,主要是將資料存盤在運行于裸設備的檔案系統之上,并完成于存盤引擎的互動,
2. MyISAM和InnoDB的對比區別

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/152665.html
標籤:其他
