oracle優化語句小結 持續更新

2021-09-02 18:31:09 字數 602 閱讀 6800

以下是本人的oralce語句小結:

1.使用select 的時候,盡量不要使用 * 而是使用具體的列名。

2.避免在索引列上使用計算,或者使用函式。

where 子句中,如果索引列是函式的一部分.優化器將不使用索引而使用全表掃瞄.

低效 select id from t where num/2=100

應改為: select id from t where num=100*2

3.盡量在where 條件小心使用not in 和 in,避免全表查詢

4.最好能用 exists 代替 in

低效:select * from num_1 where a in (select b from num_2)

應改為:select * from num_1 where exists(select b from num_2 where a = b)

5.where 條件是至下往上的執行,能過濾大量資料的條件寫在最下面

6.from 後面的**從右到左的順序載入表資料,應該把可以排除資料最多的表放到後面(基礎表)

7.批量執行insert/update的時候,要適當執行commit。避免寫入快取溢位導致語句語句一直執行等待。

Oracle優化語句

下面的例項中使用3個表 table a r1,r2,r3,r4,r5,c1,c2,b2 b r1,b1,b2 c r1,c1,c2,b2 括號中即為表中的字段。一 使用特定表中的索引。有時候乙個表中的資料量很大時候,索引是非常非常的重要,何為索引?我來舉個例子,你一聽就能明白,比如 你想搜尋我的電腦...

Oracle 語句優化

1 盡量少用in,基本上所有的in操作都可以用exists代替 2 用not exists或者外連線替代 not in,not in 不能應用索引 3 盡量不是用 amp 不等於操作符不會用到索引 2 用 2 or 2代替 4 設計表的時候把索引列設定為not null 5 盡量不把萬用字元 和 作...

oracle語句優化

1.多表查詢 選擇合適的基礎表 select from table1,table2,basetable選擇最有效率的表名順序 2.where子句中的連線順序 oracle採用自下而上的順序解析where子句。先寫表關聯後寫條件 過濾掉最大數量記錄的條件必須寫在where子句的末尾 3.計算記錄條數 ...