MYSQL 邏輯架構

fmms 12年前發布 | 26K 次閱讀 MySQL 數據庫服務器
 思維導圖
 

MYSQL 邏輯架構

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

MYSQL 邏輯架構

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

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

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

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

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

MYSQL 邏輯架構

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

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

> 認證流程        

MYSQL 邏輯架構

 

 優化與執行

 

MYSQL 邏輯架構

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

http://www.cnblogs.com/baochuan/archive/2012/03/15/2397536.html
 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!