DFSDXMT0

Module DFSDXMT0 is responsible for maintenance of the primary and secondary indices in an IMS database. It will add, delete, or replace the index records as required. System related fields /SX and /CK are processed as needed for secondary indices. Sparse indexing for secondary indices is processed using the NULLVAL parameter in the DBD or the user secondary index maintenance routine.

If load mode processing is in effect, this module will build the work records and write them to file DFSURWF1.

This module also logs all the changes that might occur to any of the indices.

This module is invoked whenever a root segment is inserted to a HIDAM database, or whenever a secondary index source segment is inserted, deleted, or replaced. For secondary indices, a determination will be made to see if one or more secondary index segments should be added, deleted, or replaced (changed to DDATA fields).

Hints

Module DFSDXMT0 should rarely show significant CPU usage (greater than 1%). Good database design is the key to performance in this area. Do not define unnecessary secondary indices, and avoid secondary indices on very volatile segments.

Use the NULLVAL parameter and secondary index maintenance routines to keep unnecessary index segments out of a secondary index.

The choice of SOURCE, SUBSEQ, and DDATA fields can also affect performance. If these fields change frequently, index maintenance will be required. Changing to a SOURCE or SUBSEQ field requires that you delete the old index segment and insert a new one. A change to a DDATA field requires only that you replace the existing index segment.

Reference Sources

More information is available in the IMS DBSOURCE Library Data Set. See your IMS systems programmer.