Skip to main content

Once in a while a run a query to see unused indexes on applications I am working on. The query result shows (most of the time) that a lot of indexes are not used. The Software Factory automatically creates indexes for each reference. Since it takes time to maintain indexes (performance loss), I would like the ability to indicate that I do not want an index.

For example,

In the Reference, make available a checkbox “Create index” which is by default checked (same as current functionality). When you do not want the index the developer unchecks the box and the (smart) upgrade script will drop the index and not recreate it again.

Unchecking the “Create index” checkbox (like unchecking the “Check integrity” checkbox) must be done with care, but when having this option, this could increase performance in certain cases.

NewOpen

Instead of an option to manually manage this in the SF, what would you think of a maintenance task provided by the SF that will run your script and drop indexes as required. Say, after a configurable threshold of non-use is measured in a given period?

The benefit would be that you don’t have to look at it yourself, and that the SF does not get cluttered with functionality for which it is difficult to anticipate whether you will need the result or not (after all, you can only use the functionality once the application is live, and it will only be available on release of the next version).


@Boudewijn This means that the script / job does the cleaning? The problem is I think that after each upgrade the indexes will be present again (slowing down performance), and after a while dropped again. I still think it is better to do this manually. Another example is functionality which is only used once per year, then it could be that indexes automatically are dropped when they shouldn't be dropped.