Oracle 優化策略

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)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章