mysql生命週期
- 客戶端連線伺服器,通訊協議為半雙工,只能是客戶端或者服務端一方傳送資料,一方接收資料
- 查詢快取
- 根據一個大小寫敏感的雜湊表實現
- 查詢與快取中的查詢有一個位元組不同都無法匹配
- 快取命中則跳過後面所有階段直接返回資料,否則進入下一階段
3. sql解析以及預處理
- sql解析,伺服器將sql語句根據關鍵字解析,檢查關鍵詞的合理性
- 預處理,檢查語句中的語法錯誤,包括資料表、列是否存在,別名等等
4. 優化器
- 根據執行成本,生成一條成本最小的執行計劃
5. 查詢執行引擎
- 根據優化器生成執行計劃,呼叫引擎API逐步執行
6. 返回資料
mysql分割槽
分割槽:一個資料表,劃分成多個資料字表分別儲存
分割槽作用:
- 儲存更多資訊(系統單個檔案大小限制)
- 查詢時,如果where條件中存在分割槽條件,則只需要掃描一個或幾個分割槽進行查詢,優化效能
- 刪除、修改時可以根據分割槽直接刪除修改
分割槽型別:
- range,根據給定的區間範圍
- list,根據列舉的值列表
- hash,按照幾個分割槽進行劃分
- key,與hash一致