An index provides fast access to rows of a table based on the values of one or more columns. An index greatly speeds the execution of SQL statements with search conditions that refer to the indexed columns.
Using indexes is appropriate for columns that are used frequently in search conditions. Using indexes is also appropriate in tables for which queries are more frequent than inserts and updates.
SQL Server provides two types of indexes: clustered and nonclustered.