How to Create a Nonclustered Index in SQL Server?
In your HumanResources.Department table, you already have a Clustered Index on DepartmentID because it is the Primary Key. Now, let’s create a Nonclustered Index on another column to speed up queries.
🔹 Syntax to Create a Nonclustered Index
To create a Nonclustered Index, use the following command:
CREATE NONCLUSTERED INDEX IX_Department_DepartmentName
ON HumanResources.Department (DepartmentName);
✔ This creates a Nonclustered Index on DepartmentName.
✔ It helps queries that filter or sort by DepartmentName to execute faster.
🔹 Creating a Nonclustered Index on Multiple Columns
You can create a composite index (index on multiple columns) to speed up queries that involve multiple columns.
CREATE NONCLUSTERED INDEX IX_Department_DepartmentName_Location
ON HumanResources.Department (DepartmentName, Location);
✔ Useful if queries frequently filter using both DepartmentName and Location.
🔍 Checking If the Index Exists
After creating the index, verify it using:
SELECT * FROM sys.indexes
WHERE object_id = OBJECT_ID('HumanResources.Department');
🔄 When Should You Use a Nonclustered Index?
Use a Nonclustered Index when:
✔ Queries filter or sort by a column frequently.
✔ The column is not part of the Primary Key (because the Primary Key is already a Clustered Index).
✔ Queries return a small subset of rows, not the entire table.
📝 Summary
✔ CREATE NONCLUSTERED INDEX is used to create a nonclustered index.
✔ Nonclustered Indexes improve search performance on frequently used columns.
✔ Use Composite Indexes if multiple columns are used together in queries.
Would you like help analyzing which columns need indexing? 😊

No comments:
Post a Comment