Last update: 4 August 2017
In large environments, the process of cleaning up MMC-Service areas may take very long. This article explains the creation of additional database indices to reduce the cycle time of the cleanup process.
Note: (Because of the different database model this article is not valid for Fabasoft Version 6 and below.)
The following indices can boost cleanup performance up to 10 times depending on the database system.
Note: This improvement is only valid for MMC service areas using Content Addressed Storage (CAS).
Create the following database index for fsclogcontentmappinglist (please use the syntax according to your database system):
Create the following database index for fscvershashes (please use the syntax according to your database system):
With PostgreSQL - instead of the above indexes - use the following indices with the operator class varchar_pattern_ops , otherwise indices are not used.
CREATE INDEX CONCURRENTLY ind_fsclogcontentmappinglist_objlogmaphash
ON fsclogcontentmappinglist (objlogmaphash varchar_pattern_ops);
CREATE INDEX CONCURRENTLY ind_fscvershashes_vershash
ON fscvershashes (vershash varchar_pattern_ops);
Oracle database uses Full-Table scans in case of IS NULL clauses, because Oracle does not save NULL values in the index. The Fabasoft cleanup process uses IS NULL clauses to identify archived objects.
Note: This improvement is independent of the MMC service area storage type.
The following index workarounds this problem by indexing an additional (in fact needless) column to get NULL values to the index:
This index can speed up the cleanup process for additional 5-15%.