cubbybear3 wrote:
> I have inherited the responsibility for a server that has a front-end
> database (does the AM/PM processing) and most of the tables are in
> separate back-end DB's.
What types and version are the backend DBs? This is relevant.
>
> In trying to clean up the system (and speed up the processing) I have
> found that many of the B/E DB's have multiple indices over the same
> field.
> Example:
> Field IndexName
> OrdNo OrdNo
> OrdNo PrimaryKey
> OrdNo Index_OrdNo
> OrdNo OrderheaderOrdNo
>
> Now I am an Access newbie (but have many years of DB experience on
> other systems), I have a few questions.
> 1. Is there any reason why we would need the extra indices?
There might be, expecially if the primary key is clustered and the others
are not. Some DBs allow indexes to include columns that are not part of the
key and so each index might have been created to optimize a particular set
of queries.
OTOH, the DBA/developer might have been using an automatic database tuning
tool that recommended these indexes, and he blindly accepted its
recommendations without doing the due diligence that you are now doing.
> 2. I can not seem to find them referenced in any
> queries/forms/reports/ macros or modules. Is there any way to
> identify if they are being used?
It depends on the type and version of the backend DB. Some rdbm systems
allow query hints that specify indexes in the sql statements, and others do
not. Depending on the type of database, you might or might not see any
reference to the indexes.
> 3. There are multiple users that have their own DB's that have links
> to the backend DB's. Short of checking each of the users DB's how can
> I find out if they are being referenced by another DB?
See above. With some rdbsm's it is possible to check index usage.
> 4. What kind of problems will I be facing if I just go ahead and
> delete them?
Hard to say. Options include:
1. No problems - the indexes were not needed in the first place (don't
delete the primary key)
2. Queries will start running slowly, and, in the worst case, users will
start experiencing timeouts