Share via


Types of Indexes

The following table lists the types of indexes available in SQL Server 2005 and provides links to additional information.

Index type Description Additional information

Clustered

A clustered index sorts and stores the data rows of the table or view in order based on the clustered index key. The clustered index is implemented as a B-tree index structure that supports fast retrieval of the rows, based on their clustered index key values.

Clustered Index Design Guidelines

Clustered Index Structures

Nonclustered

A nonclustered index can be defined on a table or view with a clustered index or on a heap. Each index row in the nonclustered index contains the nonclustered key value and a row locator. This locator points to the data row in the clustered index or heap having the key value. The rows in the index are stored in the order of the index key values, but the data rows are not guaranteed to be in any particular order unless a clustered index is created on the table.

Nonclustered Index Design Guidelines

Nonclustered Index Structures

Unique

A unique index ensures that the index key contains no duplicate values and therefore every row in the table or view is in some way unique.

Both clustered and nonclustered indexes can be unique.

Unique Index Design Guidelines

Index with included columns

A nonclustered index that is extended to include nonkey columns in addition to the key columns.

Index with Included Columns

Indexed views

An index on a view materializes (executes), the view and the result set is permanently stored in a unique clustered index in the same way a table with a clustered index is stored. Nonclustered indexes on the view can be added after the clustered index is created.

Designing Indexed Views

Full-text

A special type of token-based functional index that is built and maintained by the Microsoft Full-Text Engine for SQL Server (MSFTESQL) service. It provides efficient support for sophisticated word searches in character string data.

Full-Text Indexes

XML

A shredded, and persisted, representation of the XML binary large objects (BLOBs) in the xml data type column.

Indexes on xml Data Type Columns

See Also

Concepts

Index Basics

Other Resources

Understanding Indexes

Help and Information

Getting SQL Server 2005 Assistance