September 2010
Intermediate to advanced
1704 pages
111h 8m
English
SQL Server allows you to create a maximum of 999 nonclustered indexes on a table. Until tables become extremely large, the actual space taken by a nonclustered index is a minor expense compared to the increased access performance. You need to keep in mind, however, that as you add more indexes to the system, database modification statements get slower due to the index maintenance overhead.
Also, when defining nonclustered indexes, you typically want to define indexes on columns that are more selective (that is, columns with low density values) so that they can be used effectively by the Query Optimizer. A high number of duplicate values in a nonclustered index can often make it more expensive (in terms of I/O) ...