Kbase P5654: When should an index be compacted?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  11/11/2008 |
|
Status: Verified
GOAL:
When should an index be compacted?
GOAL:
How to compact indexes?
FACT(s) (Environment):
Progress 9.x
All Supported Operating Systems
OpenEdge 10.x
FIX:
The "index factor" calculated in the dbanalys report helps to determine when an index needs rebuilding.
1.) Run proutil <db> -C dbanalys > dbanidx.txt
2.) For every index of at least 100 blocks in size, [check "BLOCKS" column]
if the associated Index "FACTOR" > 1.5, then the index should be compacted
3.) Use: proutil db-name -C idxcompact table-name.index-name [n]
to compact an index where:
+ table-name.index-name is the source table that contains the source index to be compacted
+ [n] is (optional) the degree of index compaction {>=50; <=100; default=80}
Index compaction is preferable to index rebuild because it can be run while the database is online, the compaction process locks only 4 blocks of the index:
the index block, its parent and two of the parent's siblings.
Index rebuild, NOT Index compact, must still be used after dump and load.