Optimize MMC cleanup performancePermanent link for this heading

Last update: 4 August 2017

SummaryPermanent link for this heading

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.)

SolutionPermanent link for this heading

Indices for tables fsclogcontentmappinglist and fscvershashesPermanent link for this heading

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):

  • Table fsclogcontentmappinglist
  • Columns: objlogmaphash, objid (the ordering of the columns is mandatory)

Create the following database index for fscvershashes (please use the syntax according to your database system):

  • Table fscvershashes
  • Columns: vershash, objid (the ordering of the columns is mandatory)

Special operator class for this index with PostgreSQLPermanent link for this heading

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);

    

Index for table cooobject (Oracle only)Permanent link for this heading

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.

Please refer to the following article that explains this Oracle issue.

The following index workarounds this problem by indexing an additional (in fact needless) column to get NULL values to the index:

  • Table cooobject
  • Columns: objid, objarchstoreid

This index can speed up the cleanup process for additional 5-15%.

Applies toPermanent link for this heading

  • Fabasoft Folio (all versions from Folio 2007)
  • Fabasoft eGov-Suite (all versions from eGov-Suite 2007)

Download PDF

Download PDF