Observation: Many Indexes for a Table

The number of indexes exceeds the limit for a single table. Although indexes generally improve performance, maintaining them incurs the following costs:

  • Indexes required additional disk space.

  • When you insert into or delete from a table, the corresponding operation is performed on each index defined to that table.

  • When you update a column you defined as a key in an index, DB2 deletes and inserts the index RID to reflect the new value.

  • There is an increased exposure to lock contention for the indexes defined for a table.

  • The LOAD utility, recovery, and REORG require additional resources.

Determine how the index keys are used by reviewing which columns are frequently selected, joined, and updated, and are the object of WHERE, UNION, DISTINCT, GROUP BY, and ORDER BY. Also, note what percent of rows is referenced by frequently used SQL statements. Consider dropping less critical indexes and redefining others as composite indexes.