oracle重建索引的一些參考性依據
如果是OLTP系統,存在正大量的刪除和更新操作的系統中,日積月累,索引將會千瘡百孔,使用索引用來檢索資料的效率會急轉直下。因此要求我們定期的對索引進行維護,我們可以使用DROP/CREATE方式或REBUILD方式完成索引的重建,恢復索引應該有的效率。
案例一:OLTP系統
1.分析索引
analyze index test.PK_RECORD validate structure;
Index analyzed.
2.得出重建索引的判斷依據
select HEIGHT,lf_blks,pct_used, br_blks, used_space, opt_cmpr_count, opt_cmpr_pctsave ,del_lf_rows/(decode(lf_rows,0,1,lf_rows)) *100 as deleted_pct
from index_stats;
HEIGHT
LF_BLKS
PCT_USED
BR_BLKS
USED_SPACE
OPT_CMPR_COUNT
OPT_CMPR_PCTSAVE
DELETED_PCT
3
31716
65
147
80491396
0
0
4.74961005701432E-5
通過這樣一條簡單的SQL語句便可以給出我們3條重要的重建索引的依據。
案例二:OLAP系統
1.分析索引
analyze index odsuser.IX_ACTFULL_EARNTIME validate structure;
2.得出重建索引的判斷依據
select HEIGHT,lf_blks,pct_used, br_blks, used_space, opt_cmpr_count, opt_cmpr_pctsave ,del_lf_rows/(decode(lf_rows,0,1,lf_rows)) *100 as deleted_pct
from index_stats;
HEIGHT
LF_BLKS
PCT_USED
BR_BLKS
USED_SPACE
OPT_CMPR_COUNT
OPT_CMPR_PCTSAVE
DELETED_PCT
4
1265345
70
1734
14207498567
1
0
0
因為該表的資料比較多,大約有10億條左右
index_stats欄位內容解釋如下:
LF_BLKS:索引使用的葉子塊(資料所在的塊)數目;
BR_BLKS:分支塊(索引結構中導航所用的塊)數目;
USED_SPACE:索引使用的空間,單位是位元組;
OPT_CMPR_COUNT:最優壓縮數;
OPT_CMPR_PCTSAVE:使用上面的最優壓縮數後最優節省壓縮百分比;
height:索引的高度。
deleted_pct : 資料刪除率
pct_used:使用百分比
在OLTP系統中
索引樹的高度大於3;使用百分比低於75%;資料刪除率大於20%,就需要考慮對索引重建
在OLAP系統中,因為比較特殊,表的資料往往都是上億條,所以不能參考oltp規律。
索引樹的高度大於4;使用百分比低於30%;資料刪除率大於15%,就需要考慮對索引重建
本文的定律不是金科玉律,只是提供一些參考性意見。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-666902/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【INDEX】重建索引的兩條參考依據Index索引
- 【轉載】資料庫索引重建參考依據資料庫索引
- 關於BI前端展示工具選型的參考依據前端
- 【TUNE_ORACLE】列出走了低選擇性索引的SQL參考Oracle索引SQL
- oracle重建索引Oracle索引
- oracle 索引分析及索引重建Oracle索引
- oracle重建索引(一)Oracle索引
- oracle重建索引(三)Oracle索引
- oracle重建索引(二)Oracle索引
- Oracle表與索引的分析及索引重建Oracle索引
- oracle批量重建索引方法Oracle索引
- 【TUNE_ORACLE】檢視索引的叢集因子SQL參考Oracle索引SQL
- 【TUNE_ORACLE】列出索引被哪些SQL引用的SQL參考Oracle索引SQL
- Oracle表與索引的分析及索引重建(轉)Oracle索引
- 全文索引參考總結索引
- oracle 索引重建提示指令碼Oracle索引指令碼
- 記一次Oracle分割槽表全域性索引重建的過程Oracle索引
- Oracle 表的移動和索引的重建Oracle索引
- 淺談oracle中重建索引 (ZT)Oracle索引
- 處理wording的一些參考
- 【TUNE_ORACLE】列出SQL謂詞中需要建立索引的列SQL參考OracleSQL索引
- 【TUNE_ORACLE】檢視錶,列和索引的統計資訊SQL參考Oracle索引SQL
- Oracle ASMCMD命令參考OracleASM
- Oracle常用Event參考Oracle
- oracle 參考資料Oracle
- 常用的Oracle指令碼參考Oracle指令碼
- 索引的重建命令索引
- oracle 索引什麼時候重建和重建方法討論Oracle索引
- 可執行命令——全文索引參考索引
- 【TUNE_ORACLE】索引定期重建的利與弊Oracle索引
- 關於 Oracle 分割槽索引的失效和重建Oracle索引
- 【TUNE_ORACLE】列出可以建立組合索引的SQL(回表再過濾選擇性高的列)的SQL參考Oracle索引SQL
- Oracle官方參考資料Oracle
- Oracle EVENT用法參考列表Oracle
- ORACLE PLSQL語言參考OracleSQL
- 關於oracle的索引重建問題及原因分析Oracle索引
- oracle判斷block corruption的依據是啥?OracleBloC
- flex佈局屬性快速參考Flex