MySQL 查詢執行的基礎
當我們希望 MySQL 能夠以更高的吸能執行查詢時,最好的辦法就是弄清楚 MySQL 是如何優化和執行查詢的。一旦理解這一點,很多查詢優化工作實際上就是遵循一些原則讓優化器能夠按照預想的合理的方式執行。下面請看 MySQL 執行一個查詢的過程 ,如圖所示:
- 客戶端傳送一條查詢給伺服器。
- 伺服器先檢查查詢快取,如果命中了快取,則立刻返回儲存在快取中的結果。否則進入下一階段。
- 伺服器端進行 SQL 解析、預處理,再由優化器生成對應的執行計劃。
- MySQL 根據優化器生成的執行計劃,呼叫儲存引擎的 API 來執行查詢。
- 將結果返回給客戶端。