Saturday, February 9, 2008

How can I identify the needed indexes for my application?

SQL Server indexes made handy
When starting an application, you should be able to identify many of the indexes based on a reasonable set of rules. As the application grows and changes, the indexes should be reviewed to ensure no good index candidates are overlooked. It should be based on how the application is used not based on theory. In the same light, make sure erroneous, duplicate or valueless indexes are removed. This is a precautionary measure to make certain your SQL Server does not have to manage unneeded indexes. In this tip we will identify index recommendations, index creation and index validation.

How can I identify the needed indexes for my application?
Profiler
Identify poorly performing queries as a means to identify potential indexes
SQL Server 2000, SQL Server 2005
Tracking query execution with SQL Server 2005 Profiler
SQL Profiler: Features, functions and setup in SQL Server 2005

Database Engine Tuning Advisor
Analyze data from Profiler or in real time to offer beneficial indexes or partitions based
SQL Server 2005
Database Engine Tuning Adviser: How to tune your new SQL Server 2005

Index Tuning Wizard
Analyze data from Profiler or in real time to offer beneficial indexes
SQL Server 2000
Tricks for using the Index Tuning Wizard


sys.dm_db_missing _index_columns (Dynamic Management View)
Identifies columns that are missing indexes
SQL Server 2005
sys.dm_db_missing _index_columns

No comments: