Quick Find: Search for:
Free Resources
from FMS
 

Demos

Email Newsletter

Technical Papers

Tips and Techniques

Links

Book Recommendations

View all FMS products for Microsoft AccessMicrosoft Access Resource Center

 

 

"Thank you! Thank you!
I just finished reading this
document, which was part of a link in the recent Buzz newsletter. I have printed it for others to read, especially those skeptical on the powers of Access and its capabilities.
" 
- Darren D.
 
  

 

Avoid Unnecessary or Duplicate Indexes with the AutoIndex Setting

Provided by: Luke Chung, President of FMS, Inc.

Microsoft Access Automatically Creates Secondary Indexes

We all want speed and faster performance in Microsoft Access. As tables get larger, secondary indexes can help speedup queries, searches, and links between tables.

By default, Microsoft Access has a setting that automatically adds secondary indexes on fields based on their name. Unfortunately, this can create additional problems.

By default, Access automatically adds a secondary index to fields that begin or end with these names:

  • ID
  • key
  • code
  • num

These are set in the options AutoIndex on Import/Create separated by semicolons:

ID;key;code;num

Microsoft Access 2007

For Microsoft Access 2007, this option is under Access Options, Object Designers:

AutoIndex on Import/Create for Microsoft Access 2007

Microsoft Access 2003 and Earlier

For Microsoft Access versions before Access 2007, the setting is on the Tables/Queries tab under the Access Tools/Options menu:

AutoIndex on Import/Create for Microsoft Access 2003

Why This is a Problem

Adding too many indexes to a table and duplicating indexes on the same field can hurt performance and increase your database size.

  • Not every field name that begins or ends with the default values should have a secondary index.

  • Some fields have only a few unique values, so secondary indexes on those fields are not very helpful

  • Some fields that aren't named that way may need secondary indexes, so using the default setting is not a wise solution since thought should be put into this.

  • Some secondary indexes may involve more than one field, so single field indexes may not be helpful.

Significant Problems on Table Import

When you import a table with these settings, the indexes are added to your new table automatically. That may be fine for a brand new table, but if you are importing a table to replace an existing table (from a backup) or creating a new database by importing all the tables from an existing database, a whole set of new secondary indexes may be added unnecessarily -- essentially undoing the work you may have done to determine which fields shouldn't have indexes.

Solution

If you understand when to add secondary indexes on your tables, you should set the AutoIndex on Import/Create option to nothing. This lets you control where and when indexes are added, and eliminates it from happening by chance:

If you have our Total Access Analyzer program, this setting is one of the ~300 issues detected when your database is documented. Learn more about how Total Access Analyzer can help you create better Microsoft Access applications.

Return to the tips page.

Questions  l   Web questions: Webmaster   l   Copyright © 2008 FMS, Inc.

Celebrating 21 Years of Software Excellence