MYSQL 邏輯架構


 

 
 思維導圖
 

 
 前言
 
》 Mysql並非盡善盡美,但足夠靈活,能適應高要求環境,如Web應用。
》 Mysql在眾多平台上運行良好,支持多種數據類型,但不支持對象類型(Mongodb支持)
》 Mysql的存儲引擎可以基於表建立,以滿足對數據存儲,性能,特征及其他特性的各種需要。
 
 架構邏輯視圖
 

每個虛線框為一層,總共三層。

第一層,服務層(為客戶端服務):為請求做連接處理,授權認證,安全等。

第二層,核心層:查詢解析,分析,優化,緩存,提供內建函數;存儲過程,觸發器,視圖。

第三層,存儲引擎層,不光做存儲和提取數據,而且針對特殊數據引擎還要做事務處理。

 
 連接管理與安全性(第一層 服務層)
 
 > 處理流程

 Δ 每個連接的查詢都在一個進程中的線程完成。

 Δ 服務器負責緩存線程,所以服務層不需要為每個連接新建線程。

> 認證流程  

 

 優化與執行

 

 
>  在解析查詢之前,服務器會“詢問”是否進行了查詢緩存(只能緩存SELECT語句和相應結果)。緩存過的直接返回結果,未緩存的就需要進行解析查詢,優化,重新執行返回結果。
 > 解析查詢時會創建一個內部數據結構(樹),然后對其進行各種優化。
 > 優化:重寫查詢,決定查詢的讀表順序,選擇需使用的索引。
 
 
參考文獻《高性能Mysql》
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM