Oracle 優化策略

2021-05-26 15:02:10 字數 888 閱讀 2592

1.    普通表轉分割槽表(大表-2g,多於1000萬條記錄)

2.    索引(減少非索引掃瞄)

建立索引在約束條件列,選擇性高列,被驅動表(內錶)連線列(驅動表的連線列不一定)

結果集在總行數的2%-4%,應建索引(編號,日期,外來鍵)

函式索引- query_rewrite_integrity = trusted,query_rewrite_enabled = true,

bitmap/bitmap join 索引- star_transformation_enabled=true,bitmap join index 將join資訊儲存在index裡,適用於dim/fact join)

本地索引-索引字段=分割槽字段,不保證唯一性,

復合索引-leading column/selectivity

3.    減少遠端資料庫(db link-collocated in line view~subquery in remote db)的訪問(採用mqt或臨時表,實現hash join)

4.    分拆儲存過程,以便並行執行。

5.    歸檔部分歷史資料到備份表

6.    加大commit的行數

7.    select/fetch bulk collect into,forall insert/delete/update

8.    hints(cbo,統計資訊要更新)

9.    merge 代替 update and insert(大表更新大表)

10. 消除佔位操作和開關操作(如果存在)

11. 消除繫結變數(會導致執行計畫不是最優)

12. 使用star query(bitmap index in fact table, star_transformation_enabled=true)

mysql 優化策略 mysql的優化策略有哪些

第一 優化你的sql和索引 1.善用explain,看看自己寫的sql到底要涉及到多少表,多少行,使用了那些索引,根據這些資訊適當的建立索引 2.善用不同的儲存引擎,mysql有多種不同的儲存引擎,innodb,aria,memory根據需要給不同的表選擇不同的儲存引擎,比如要支援transacti...

not in 優化策略

總結們在csdn社群上對於not in的優化策略,整理如下,備查。select from emp where emp no not in select emp no from emp bill 要求用兩種 sql寫法優化上面 sql。方法一 select from emp a where notex...

SQL優化策略

下面是再河北優化時候採用的sql優化策略,按照該策略可以使效能有大幅提高,如 4 where 子句中出現is null或者is not null時,oracle會停止使用索引而執行全表掃瞄。可以考慮在設計表時,對索引列設定為notnull。這樣就可以用其他操作來取代判斷null的操作。5 當萬用字元...