SQL優化說明文件(1)

xz43發表於2010-11-22

1Sql執行三個主要階段

Ø  Parse (分析階段)

-    在記憶體(shared pool) 中尋找語句

-    檢查語法,檢查語義,許可權

-    合併ViewSubQuery

-    生成執行計劃

Ø  Execute (執行)

-    應用Parse階段生成的執行計劃

-    如果資料在記憶體中則完成邏輯讀,否則物理讀

-    對於UPDATEDELETE語句先鎖住有關的行

Ø  Fetch (結果返回)

-    如果是select 語句,還要返回執行結果

-    根據需要完成排序

每個階段都消耗系統資源。

2.常見的資料訪問路徑

Ø 表的訪問

-    Table Access FullMulti-blocks I/O,可並行)

-    Table Access By Rowid (先索引訪問,得到Rowid

Ø 索引的訪問

-    Index Unique Scan Single Block I/O,不可並行)

§  返回單個值;唯一索引,等於查詢

-    Index Range Scan Single Block I/O,不可並行)

§  返回多行記錄;範圍查詢

-    Index Full Scan

§  Index做全部的掃描,返回所有Index的值

-    Index Fast Full Scan(Multi-blocks I/O,可並行)

§   可以並行的訪問整個Index

-    Index skip Scan

§   跳過複合索引中的領先列,適用於領先列選擇性低的情況

    如,(fee_type,finist_time)

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-678635/,如需轉載,請註明出處,否則將追究法律責任。

相關文章