表的分類數據庫引擎?
引擎是什么?
引擎就是一個系統最核心的部分,比如汽車的發動機,人的心臟
數據庫引擎指的是真正的負責存儲數據的模塊
首先得說說mysql的邏輯架構,它整體分為3層:
- 客戶端:並非mysql所獨有,如:連接處理、授權認證、安全等功能均在這一層處理
- 核心服務:包括查詢解析、分析、優化、緩存、內置函數(比如 : 時間、數學、加密等函數),所有的跨存儲引擎的功能也在這一層實現 : 存儲過程、觸發器、視圖等
- 存儲引擎:負責 MySQL 中的數據存儲和提取,和 Linux 下的文件系統類似,每種存儲引擎都有其優勢和劣勢,中間的服務層通過 API 與存儲引擎通信,這些 API接口 屏蔽不同存儲引擎間的差異
常用引擎:
InnoDB(重點)
MyISAM
BLACKHOLE(黑洞引擎)
CSV(數據文件可以使用excel打開)
補充知識點:
MySQL 整個查詢執行過程,總的來說分為 5 個步驟 :
- 客戶端向 MySQL 服務器發送一條查詢請求
- 服務器首先檢查查詢緩存,如果命中緩存,則立刻返回存儲在緩存中的結果,否則進入下一階段
- 服務器進行 SQL解析、預處理、再由優化器生成對應的執行計划
- MySQL 根據執行計划,調用存儲引擎的 API來執行查詢
- 將結果返回給客戶端,同時緩存查詢結果