您好,登錄后才能下訂單哦!
這篇文章主要講解了“mysql中的優化器是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“mysql中的優化器是什么”吧!
說明
1、分析器生成的語法樹被認為是合法的,由優化器轉化為執行計劃。在mysql判斷了這個sql需要做什么之后,對它進行了各種優化,包括重寫查詢,決定讀取順序,以及選擇合適的索引等。
2、mysql使用基于成本優化的優化器,試圖預測使用某個執行計劃時的成本,選擇最小的。
例如,當表中有多個索引時,決定使用哪一個;當使用聯合索引時,where條件的順序將根據因此進行調整;
如果你想知道優化器是如何做出優化決策的,你可以通過explain獲得優化信息。
從語義上講,優化器的工作過程可分為四個階段:
(1)邏輯轉換包括否定消除、等值傳遞和常量傳遞、常量表達式求值、外部連接轉換為內部連接、子查詢轉換、視圖合并等。
(2)優化準備,如索引ref和range訪問方法分析、查詢條件扇出值(fanout、過濾記錄數)分析、常量表檢測。
(3)基于成本優化,包括訪問方法和連接順序的選擇。
(4)實施計劃的改進,如表條件下推、訪問方法調整、排序避免和索引條件下推。
感謝各位的閱讀,以上就是“mysql中的優化器是什么”的內容了,經過本文的學習后,相信大家對mysql中的優化器是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。