mysql高階特性

Echizen_1發表於2019-01-23

mysql生命週期

  1. 客戶端連線伺服器,通訊協議為半雙工,只能是客戶端或者服務端一方傳送資料,一方接收資料
  2. 查詢快取
  • 根據一個大小寫敏感的雜湊表實現
  • 查詢與快取中的查詢有一個位元組不同都無法匹配
  • 快取命中則跳過後面所有階段直接返回資料,否則進入下一階段

   3. sql解析以及預處理

  • sql解析,伺服器將sql語句根據關鍵字解析,檢查關鍵詞的合理性
  • 預處理,檢查語句中的語法錯誤,包括資料表、列是否存在,別名等等

    4. 優化器

  • 根據執行成本,生成一條成本最小的執行計劃

    5. 查詢執行引擎

  • 根據優化器生成執行計劃,呼叫引擎API逐步執行

    6. 返回資料

mysql分割槽

分割槽:一個資料表,劃分成多個資料字表分別儲存

分割槽作用:

  • 儲存更多資訊(系統單個檔案大小限制)
  • 查詢時,如果where條件中存在分割槽條件,則只需要掃描一個或幾個分割槽進行查詢,優化效能
  • 刪除、修改時可以根據分割槽直接刪除修改

分割槽型別:

  • range,根據給定的區間範圍
  • list,根據列舉的值列表
  • hash,按照幾個分割槽進行劃分
  • key,與hash一致


相關文章