C
ChUIMonster
Guest
Run time data will tell you about indexes that are *unused* during the data collection period. There can be indexes that only get used occasionally (month or year end closing for example) but which are still important. You could easily miss usage of such indexes if you are not getting complete coverage of all the runtime data for a long enough period. What Tom was looking for is indexes that are redundant in the sense that they are subsets of other indexes. IOW they have duplicate leading fields and one is a subset of the other. Both approaches have value -- even if an index is not redundant in the "duplicate fields" sense it might still be a candidate for removal if it is never actually used. Of course it might be enforcing a uniqueness constraint too -- so lack of reading isn't quite enough justification to zap it -- but it is enough to justify thinking about zapping it
Compile xref would also be useful to check -- does any compiled code reference an index? You could still miss dynamic queries but, again, the lack of references in compiled code would be a good reason to at last think about whether or not an index is really adding any value.
Continue reading...
Continue reading...