思惟導圖web
前言sql
》 Mysql並不是盡善盡美,但足夠靈活,能適應高要求環境,如如今網站管理CMS系統中大多數的web應用都是用到這個,。
》 Mysql在衆多平臺上運行良好,支持多種數據類型,但不支持對象類型(Mongodb支持)
》 Mysql的存儲引擎能夠基於表創建,以知足對數據存儲,性能,特徵及其餘特性的各類須要。緩存
架構邏輯視圖安全
每一個虛線框爲一層,總共三層。
第一層,服務層(爲客戶端服務):爲請求作鏈接處理,受權認證,安全等。
第二層,核心層:查詢解析,分析,優化,緩存,提供內建函數;存儲過程,觸發器,視圖。
第三層,存儲引擎層,不光作存儲和提取數據,並且針對特殊數據引擎還要作事務處理。服務器
鏈接管理與安全性(第一層 服務層)markdown
處理流程
數據結構
Δ 每一個鏈接的查詢都在一個進程中的線程完成。
Δ 服務器負責緩存線程,因此服務層不須要爲每一個鏈接新建線程。架構
認證流程 ide
優化與執行函數
在解析查詢以前,服務器會「詢問」是否進行了查詢緩存(只能緩存SELECT語句和相應結果)。緩存過的直接返回結果,未緩存的就須要進行解析查詢,優化,從新執行返回結果。解析查詢時會建立一個內部數據結構(樹),而後對其進行各類優化。優化:重寫查詢,決定查詢的讀表順序,選擇需使用的索引。