思維導圖

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

每個虛線框為一層,總共三層。
第一層,服務層(為客戶端服務):為請求做連接處理,授權認證,安全等。
第二層,核心層:查詢解析,分析,優化,緩存,提供內建函數;存儲過程,觸發器,視圖。
第三層,存儲引擎層,不光做存儲和提取數據,而且針對特殊數據引擎還要做事務處理。
連接管理與安全性(第一層 服務層)
> 處理流程

Δ 每個連接的查詢都在一個進程中的線程完成。
Δ 服務器負責緩存線程,所以服務層不需要為每個連接新建線程。> 認證流程

優化與執行

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