Consultor Eletrônico



Kbase P177289: Performance issue after mass data deletion in the database
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   22/11/2010
Status: Unverified

SYMPTOM(s):

Performance issue after purging large amounts of data in the database

4GL/ABL queries against the tables involved in mass deletion and perform up to 200 times slower than before the mass deletion when no index rebuild or index compaction was performed

Queries use a unique index on the table

No index rebuild or index compaction performed on affected tables after mass record deletion

FACT(s) (Environment):

Various tables had large number of records deleted using 4GL/ABL
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems

CAUSE:

Bug# OE00187780

CAUSE:

When index entries in a unique index are deleted, they are replaced by placeholders that reserve the entry until the deleting transaction commits.
This is done so that another transaction cannot add the same unique entry and thereby prevent the deleting transaction from rolling back.

These placeholders are no longer needed after the deleting transaction commits and they are cleaned out the next time the index block that contains them is written to disk.
However: if the block is not written to disk again because there are no modifications to it, the placeholders remain .

When read queries traverse the entries in an index bracket, the placeholders are skipped over. When there are a large number of placholders within a bracket, possibly in multiple index blocks (which often occurs when one deletes many rows in a table), this can cause noticeable delays and extra index block reads.

FIX:

Perform an index rebuild or (online) index compaction on all tables which had large amounts of data purged