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)