Skip to main content
Practice Problems

What are clustered and non-clustered indexes?

Understanding Indexes in Databases

Indexes are crucial for optimizing the performance of database queries. They can be categorized into two main types: clustered indexes and non-clustered indexes. This document aims to clarify the differences between these two types of indexes.

What is a Clustered Index?

A clustered index determines the physical order of data in a table. It is unique in that a table can have only one clustered index. The clustered index is created on the primary key by default, but it can be created on any column.

Characteristics of Clustered Indexes

  • Physical Order: The data rows are stored in the same order as the index.
  • Single Index: A table can have only one clustered index.
  • Performance: Clustered indexes can improve the performance of range queries.

What is a Non-Clustered Index?

A non-clustered index, on the other hand, does not alter the physical order of the data. Instead, it creates a separate structure that points to the actual data rows. A table can have multiple non-clustered indexes.

Characteristics of Non-Clustered Indexes

  • Logical Order: The data is stored in a different order than the index.
  • Multiple Indexes: A table can have multiple non-clustered indexes.
  • Flexibility: Non-clustered indexes can be created on any column, providing more flexibility for query optimization.

Key Differences Between Clustered and Non-Clustered Indexes

FeatureClustered IndexNon-Clustered Index
Physical OrderYesNo
Number of IndexesOne per tableMultiple per table
StorageData rows are stored in the indexSeparate structure pointing to data
Performance ImpactFaster for range queriesFaster for lookups on non-key columns

Conclusion

In summary, understanding the differences between clustered and non-clustered indexes is essential for database optimization. Choosing the right type of index can significantly impact the performance of your database queries.

Short Answer

Interview ready
Premium

A concise answer to help you respond confidently on this topic during an interview.

Finished reading?
Practice Problems