MySQL SQL語句查詢執行過程的四個階段介紹
1.語法分析階段:將SQL查詢語句經詞法和語法分析後變換為一顆查詢樹st_select_lex傳給最佳化器,並對SQL表達的語義進行檢查。
2.生成邏輯查詢執行計劃階段:最佳化器在查詢樹中遍歷每個關係,確定關係是否是常量表,為每個關係查詢可用的索引,運用關係
代數原理和啟發式規則進行邏輯上的查詢最佳化(如消除子查詢,消除外連線等)。
3.生成物理查詢執行計劃階段:最佳化器對每個連線的表進行排序,然後再求解多表連線最優路徑,對於每個關係儘量利用索引計算其
代價,找出代價最小的路徑後儲存到JOIN類的best_positions。
4.執行查詢執行計劃階段:把查詢執行計劃傳到執行器進行執行。
2.生成邏輯查詢執行計劃階段:最佳化器在查詢樹中遍歷每個關係,確定關係是否是常量表,為每個關係查詢可用的索引,運用關係
代數原理和啟發式規則進行邏輯上的查詢最佳化(如消除子查詢,消除外連線等)。
3.生成物理查詢執行計劃階段:最佳化器對每個連線的表進行排序,然後再求解多表連線最優路徑,對於每個關係儘量利用索引計算其
代價,找出代價最小的路徑後儲存到JOIN類的best_positions。
4.執行查詢執行計劃階段:把查詢執行計劃傳到執行器進行執行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2124894/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL系列之一條SQL查詢語句的執行過程MySql
- GaussDB SQL查詢語句執行過程解析SQL
- MySQL 查詢語句執行過程淺析MySql
- mysql執行sql語句過程MySql
- 查詢Oracle正在執行和執行過的SQL語句OracleSQL
- 查詢執行慢的SQL語句SQL
- 查詢正在執行的SQL語句SQL
- MariaDB伺服器查詢執行過程的三個階段概述伺服器
- CoreData執行過程的sql語句SQL
- 剖析SQL語句的執行過程SQL
- Oracle SQL 語句的執行過程OracleSQL
- mysql中一條查詢語句的執行全過程是怎樣的?MySql
- Laravel 框架查詢執行的 SQL 語句Laravel框架SQL
- 查詢Oracle正在執行的SQL語句OracleSQL
- Oracle 查詢某個session正在執行的sql語句OracleSessionSQL
- SQL語句的4個階段SQL
- 查詢sql語句執行次數SQL
- 分享一個查詢某個使用者過去一段時間內執行的SQL語句。SQL
- 一條sql語句的執行過程SQL
- 淺談SQL語句的執行過程SQL
- 理解oracle執行sql語句的過程OracleSQL
- 15個常用sql語句 分支 迴圈 子查詢 儲存過程 事務 常用函式 sql語句執行過程(轉載備用)SQL儲存過程函式
- SQL Server 查詢歷史執行的SQL語句SQLServer
- 查詢正在執行的sql語句及該語句執行的時間SQL
- SQL語句執行過程詳解SQL
- sql語句執行過程小結SQL
- mysql高階查詢語句MySql
- MySQL探祕(二):SQL語句執行過程詳解MySql
- SQL 查詢語句的執行順序解析SQL
- 查詢orcale執行的SQL語句記錄SQL
- 小覷資料庫(SqlServer)查詢語句執行過程資料庫SQLServer
- MySQL學習 - 查詢的執行過程MySql
- 10_SQL語句執行過程剖析SQL
- MySQL 查詢常用操作(0) —— 查詢語句的執行順序MySql
- 查詢Oracle正在執行的sql語句及執行該語句的使用者OracleSQL
- ORACLE sql 語句的執行過程(SQL效能調整)OracleSQL
- 一條 SQL 查詢語句是如何執行的?SQL
- MySQL執行狀況查詢方式介紹MySql