【INDEX】重建索引的兩條參考依據
如果是OLTP系統,存在正大量的刪除和更新操作的系統中,日積月累,索引將會千瘡百孔,使用索引用來檢索資料的效率會急轉直下。因此要求我們定期的對索引進行維護,我們可以使用DROP/CREATE方式或REBUILD方式完成索引的重建,恢復索引應該有的效率。
問題來了,什麼時候需要重建?重建索引的依據是什麼呢?
有兩個依據可供參考。第一個是,檢視索引的“高度”,如果索引樹高超過了4我們就需要重點關注;另外一個參考依據是,索引條目被刪除的資料佔總索引條目的百分比如果超過了20%,一般在這種情況下就要考慮重建索引。
如果獲得這兩個參考依據?方法其實很簡單,我們僅需對索引進行一下分析,然後透過INDEX_STATS檢視輔助分析即可。拿一個具體的例子看一下。
1.分析索引
nt5beijing@bidb> analyze index SALES_INFO_IDX validate structure;
Index analyzed.
2.得出重建索引的判斷依據
nt5beijing@bidb> select HEIGHT,(DEL_LF_ROWS/LF_ROWS)*100 from index_stats;
HEIGHT (DEL_LF_ROWS/LF_ROWS)*100
---------- -------------------------
4 .312030747
透過這樣一條簡單的SQL語句便可以給出我們兩條重要的重建索引的依據。
3.根據上面的統計結果有何結論?重建索引?不重建索引?
答案是:不一定!
重建的理由:此處我們看到,該索引的高度已經突破了4,可以考慮重新建立一下該索引。
不重建的理由:從刪除的索引葉子的資料與索引葉子總條數的比例上看遠遠的小於20%,此時不到1%。
這種現象多見於資料倉儲類系統。需要酌情對此類索引進行調整。
4.關於INDEX_STATS的參考
請參考《【索引】使用索引分析快速得到索引的基本資訊》(http://space.itpub.net/519536/viewspace-620882)
5.小結
本文並沒有給出索引重建的金科玉律,沒有一成不變的法則,一切都是參考資訊,具體定奪的人是自己。
在生產環境中如果考慮對索引進行維護,往往考慮的因素很多,在這些參考依據的基礎上還要考慮是否有充足的維護視窗,是否可以容忍在索引維護期間系統出現的鎖等待問題。是採用DROP/CREATE方式還是REBUILD方式也要具體場景具體分析。
Good luck.
secooler
10.06.30
-- The End --
問題來了,什麼時候需要重建?重建索引的依據是什麼呢?
有兩個依據可供參考。第一個是,檢視索引的“高度”,如果索引樹高超過了4我們就需要重點關注;另外一個參考依據是,索引條目被刪除的資料佔總索引條目的百分比如果超過了20%,一般在這種情況下就要考慮重建索引。
如果獲得這兩個參考依據?方法其實很簡單,我們僅需對索引進行一下分析,然後透過INDEX_STATS檢視輔助分析即可。拿一個具體的例子看一下。
1.分析索引
nt5beijing@bidb> analyze index SALES_INFO_IDX validate structure;
Index analyzed.
2.得出重建索引的判斷依據
nt5beijing@bidb> select HEIGHT,(DEL_LF_ROWS/LF_ROWS)*100 from index_stats;
HEIGHT (DEL_LF_ROWS/LF_ROWS)*100
---------- -------------------------
4 .312030747
透過這樣一條簡單的SQL語句便可以給出我們兩條重要的重建索引的依據。
3.根據上面的統計結果有何結論?重建索引?不重建索引?
答案是:不一定!
重建的理由:此處我們看到,該索引的高度已經突破了4,可以考慮重新建立一下該索引。
不重建的理由:從刪除的索引葉子的資料與索引葉子總條數的比例上看遠遠的小於20%,此時不到1%。
這種現象多見於資料倉儲類系統。需要酌情對此類索引進行調整。
4.關於INDEX_STATS的參考
請參考《【索引】使用索引分析快速得到索引的基本資訊》(http://space.itpub.net/519536/viewspace-620882)
5.小結
本文並沒有給出索引重建的金科玉律,沒有一成不變的法則,一切都是參考資訊,具體定奪的人是自己。
在生產環境中如果考慮對索引進行維護,往往考慮的因素很多,在這些參考依據的基礎上還要考慮是否有充足的維護視窗,是否可以容忍在索引維護期間系統出現的鎖等待問題。是採用DROP/CREATE方式還是REBUILD方式也要具體場景具體分析。
Good luck.
secooler
10.06.30
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-666765/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 重建索引索引
- 索引重建索引
- 【TUNE_ORACLE】列出走了INDEX FULL SCAN的SQL參考OracleIndexSQL
- 【TUNE_ORACLE】列出走了INDEX SKIP SCAN的SQL參考OracleIndexSQL
- update表中index索引列對原索引條目做什麼操作?Index索引
- 清理重建失敗的索引索引
- SQL Server 2014的重建索引SQLServer索引
- oracle重建索引(一)Oracle索引
- oracle重建索引(三)Oracle索引
- oracle重建索引(二)Oracle索引
- MSSQL Rebuild(重建)索引SQLRebuild索引
- 【TUNE_ORACLE】列出索引被哪些SQL引用的SQL參考Oracle索引SQL
- 【TUNE_ORACLE】檢視索引的叢集因子SQL參考Oracle索引SQL
- Elasticsearch之索引模板index template與索引別名index aliasElasticsearch索引Index
- 匿名類 與 索引重建索引
- pandas(3):索引Index/MultiIndex索引Index
- 【INDEX】Postgresql索引介紹IndexSQL索引
- 【TUNE_ORACLE】列出走了低選擇性索引的SQL參考Oracle索引SQL
- 【TUNE_ORACLE】列出SQL謂詞中需要建立索引的列SQL參考OracleSQL索引
- TIDB 考試 參考TiDB
- 教你如何在 elasticsearch 中重建索引Elasticsearch索引
- HugeGraph之索引重建和刪除索引
- 如何在Mac上重建Spotlight索引Mac索引
- MySQL 索引覆蓋(Covering Index)MySql索引Index
- sqlserver索引重建和索引重組的區別和操作方法SQLServer索引
- ElasticSearch 倒排索引(Inverted Index)| 什麼是倒排索引?Elasticsearch索引Index
- OSI參考模型和TCP/IP參考模型模型TCP
- 【TUNE_ORACLE】索引定期重建的利與弊Oracle索引
- 【TUNE_ORACLE】檢視錶,列和索引的統計資訊SQL參考Oracle索引SQL
- Oracle中的虛擬列索引-nosegment indexOracle索引Index
- javamail參考JavaAI
- UI | 兩款藍色系企業官網設計參考UI
- 重建索引報ORA-14086錯誤索引
- openGauss Index-advisor_索引推薦Index索引
- 市場規模如何測算?可以參考這條實踐
- 【TUNE_ORACLE】列出一條SQL中多次出現的表名的SQL參考OracleSQL
- WebApiClient效能參考WebAPIclient
- OSI參考模型模型
- 新手必看:如何在Mac上重建Spotlight索引Mac索引