1. 程式人生 > >SQL 執行過程

SQL 執行過程

1.查詢中用到的關鍵詞主要包含六個,並且他們的順序依次為 

select--from--where--group by--having--order by 

其中select和from是必須的,其他關鍵詞是可選的,這六個關鍵詞的執行順序 

與sql語句的書寫順序並不是一樣的,而是按照下面的順序來執行 

from--where--group by--having--select--order by

from:需要從哪個資料表檢索資料 

where:過濾表中資料的條件 

group by:如何將上面過濾出的資料分組 

having:對上面已經分組的資料進行過濾的條件  

select:檢視結果集中的哪個列,或列的計算結果 

order by :按照什麼樣的順序來檢視返回的資料 

SQL Select語句的執行步驟【從DBMS實現者角度,這個對我們使用者意義不大】: 
  1)語法分析,分析語句的語法是否符合規範,衡量語句中各表示式的意義。 
  2) 語義分析,檢查語句中涉及的所有資料庫物件是否存在,且使用者有相應的許可權。 
  3)檢視轉換,將涉及檢視的查詢語句轉換為相應的對基表查詢語句。 
  4)表示式轉換, 將複雜的 SQL 表示式轉換為較簡單的等效連線表示式。 
  5)選擇優化器,不同的優化器一般產生不同的“執行計劃” 
  6)選擇連線方式, ORACLE 有三種連線方式,對多表連線 ORACLE 可選擇適當的連線方式。 
  7)選擇連線順序

, 對多表連線 ORACLE 選擇哪一對錶先連線,選擇這兩表中哪個表做為源資料表。 
  8)選擇資料的搜尋路徑,根據以上條件選擇合適的資料搜尋路徑,如是選用全表搜尋還是利用索引或是其他的方式。 
  9)執行“執行計劃”。