sql執行順序

(8)select (9)distinct(11)<top_specification><select_list>

(1)from <left_table>

(3)<join_type> join <right_table>

(2) on <join_condition>

(4) where <where_condition>

(5) group by <group_by_list>

(6) with {cube|rollup}

(7) having <having_conditon>

(10) order by <order_by_list>


sql語句的執行步驟

1.語法分析,分析語句的語法是否符合規範,衡量語句中各表達式的意義

2.語義分析,檢查語句中涉及的所有數據庫對象是否存在,且用戶有相應的權限

3.視圖轉換,將涉及視圖的查詢語句轉換爲相應的對基表查詢語句

4.表達式轉換,將複雜的sql表達式轉換爲較簡單的等效連接表達式

5.選擇優化器,不同的優化器一般產生不同的執行計劃

6,選擇鏈接方式,有三種連接方式,對多表連接可選擇適當的連接方式

7.選擇連接順序,對多表連接選擇哪一對錶先連接,選擇這兩表中哪個表作爲源數據表

8.選擇數據的搜索路徑,根據以上條件選擇合適的數據搜索路徑,如是選用全表搜索還是利用索引或是其它方式

9.運行執行計劃


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章