1. 程式人生 > >Oracle初級優化sql

Oracle初級優化sql

rom sts 情況 末尾 包含 driving sql語句 acl 替代

1.選擇最有效率的表名順序(只在基於規則的優化器中有效):
ORACLE的解析器按照從右到左的順序處理FROM子句中的表名,FROM子句中寫在最後的表(基礎表 driving table)將被最先處理,
在FROM子句中包含多個表的情況下,你必須選擇記錄條數最少的表作為基礎表。
2.WHERE子句中的連接順序: ORACLE采用自下而上的順序解析WHERE子句,根據這個原理,表之間的連接必須寫在其他WHERE條件之前, 那些可以過濾掉最大數量記錄的條件必須寫在WHERE子句的末尾.
3.SELECT子句中避免使用 ‘ * ‘:
4.用EXISTS替代IN、用NOT EXISTS替代NOT IN:
5.sql語句用大寫的;因為oracle總是先解析sql語句,把小寫的字母轉換成大寫的再執行:
6.避免在索引列上使用計算:
7.用IN來替換OR

Oracle初級優化sql