MYSQL 邏輯架構
思維導圖
前言
》 Mysql并非盡善盡美,但足夠靈活,能適應高要求環境,如Web應用。
》 Mysql在眾多平臺上運行良好,支持多種數據類型,但不支持對象類型(Mongodb支持)
》 Mysql的存儲引擎可以基于表建立,以滿足對數據存儲,性能,特征及其他特性的各種需要。
架構邏輯視圖
每個虛線框為一層,總共三層。
第一層,服務層(為客戶端服務):為請求做連接處理,授權認證,安全等。
第二層,核心層:查詢解析,分析,優化,緩存,提供內建函數;存儲過程,觸發器,視圖。
第三層,存儲引擎層,不光做存儲和提取數據,而且針對特殊數據引擎還要做事務處理。
連接管理與安全性(第一層 服務層)
> 處理流程
Δ 每個連接的查詢都在一個進程中的線程完成。
Δ 服務器負責緩存線程,所以服務層不需要為每個連接新建線程。> 認證流程
優化與執行
> 在解析查詢之前,服務器會“詢問”是否進行了查詢緩存(只能緩存SELECT語句和相應結果)。緩存過的直接返回結果,未緩存的就需要進行解析查詢,優化,重新執行返回結果。
> 解析查詢時會創建一個內部數據結構(樹),然后對其進行各種優化。
> 優化:重寫查詢,決定查詢的讀表順序,選擇需使用的索引。
http://www.cnblogs.com/baochuan/archive/2012/03/15/2397536.html
http://www.cnblogs.com/baochuan/archive/2012/03/15/2397536.html
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!