Skip to content

Commit f3081fd

Browse files
committed
Review for content health
1 parent 6f2dfbf commit f3081fd

2 files changed

Lines changed: 29 additions & 27 deletions

File tree

docs/relational-databases/indexes/clustered-and-nonclustered-indexes-described.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
---
2-
title: "Clustered and nonclustered indexes described"
3-
description: Clustered and nonclustered indexes described
2+
title: "Clustered and nonclustered indexes"
3+
description: Describes clustered and nonclustered indexes.
44
author: MikeRayMSFT
55
ms.author: mikeray
6-
ms.date: 10/25/2021
6+
ms.date: 08/11/2023
77
ms.service: sql
88
ms.subservice: table-view-index
99
ms.topic: conceptual
@@ -12,7 +12,7 @@ helpviewer_keywords:
1212
- "index concepts [SQL Server]"
1313
monikerRange: "=azuresqldb-current||>=sql-server-2016||>=sql-server-linux-2017||=azuresqldb-mi-current"
1414
---
15-
# Clustered and nonclustered indexes described
15+
# Clustered and nonclustered indexes
1616

1717
[!INCLUDE [SQL Server Azure SQL Database Azure SQL Managed Instance](../../includes/applies-to-version/sql-asdb-asdbmi.md)]
1818

@@ -42,11 +42,11 @@ See [Indexes](../../relational-databases/indexes/indexes.md) for additional type
4242

4343
## Indexes and constraints
4444

45-
Indexes are automatically created when PRIMARY KEY and UNIQUE constraints are defined on table columns. For example, when you create a table with a UNIQUE constraint, [!INCLUDE[ssDE](../../includes/ssde-md.md)] automatically creates a nonclustered index. If you configure a PRIMARY KEY, [!INCLUDE[ssDE](../../includes/ssde-md.md)] automatically creates a clustered index, unless a clustered index already exists. When you try to enforce a PRIMARY KEY constraint on an existing table and a clustered index already exists on that table, SQL Server enforces the primary key using a nonclustered index.
45+
SQL Server auatomatically creates indexes when PRIMARY KEY and UNIQUE constraints are defined on table columns. For example, when you create a table with a UNIQUE constraint, [!INCLUDE[ssDE](../../includes/ssde-md.md)] automatically creates a nonclustered index. If you configure a PRIMARY KEY, [!INCLUDE[ssDE](../../includes/ssde-md.md)] automatically creates a clustered index, unless a clustered index already exists. When you try to enforce a PRIMARY KEY constraint on an existing table and a clustered index already exists on that table, SQL Server enforces the primary key using a nonclustered index.
4646

4747
For more information, see [Create primary keys](../../relational-databases/tables/create-primary-keys.md) and [Create unique constraints](../../relational-databases/tables/create-unique-constraints.md).
4848

49-
## How indexes are used by the Query Optimizer
49+
## How indexes are used by the query optimizer
5050

5151
Well-designed indexes can reduce disk I/O operations and consume fewer system resources therefore improving query performance. Indexes can be helpful for a variety of queries that contain SELECT, UPDATE, DELETE, or MERGE statements. Consider the query `SELECT Title, HireDate FROM HumanResources.Employee WHERE EmployeeID = 250` in the [!INCLUDE[ssSampleDBobject](../../includes/sssampledbobject-md.md)] database. When this query is executed, the query optimizer evaluates each available method for retrieving the data and selects the most efficient method. The method may be a table scan, or may be scanning one or more indexes if they exist.
5252

@@ -57,10 +57,10 @@ When the query optimizer uses an index, it searches the index key columns, finds
5757
The query optimizer typically selects the most efficient method when executing queries. However, if no indexes are available, the query optimizer must use a table scan. Your task is to design and create indexes that are best suited to your environment so that the query optimizer has a selection of efficient indexes from which to select. [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] provides the [Database Engine Tuning Advisor](../../relational-databases/performance/database-engine-tuning-advisor.md) to help with the analysis of your database environment and in the selection of appropriate indexes.
5858

5959
> [!IMPORTANT]
60-
> For more information about index design guidelines and internals, refer to the [SQL Server Index Design Guide](../../relational-databases/sql-server-index-design-guide.md).
60+
> For more information about index design guidelines and internals, refer to the [SQL Server and Azure SQL index architecture and design guide](../../relational-databases/sql-server-index-design-guide.md).
6161
6262
## Next steps
6363

64-
- [SQL Server Index Design Guide](../../relational-databases/sql-server-index-design-guide.md)
65-
- [Create Clustered Indexes](../../relational-databases/indexes/create-clustered-indexes.md)
66-
- [Create Nonclustered Indexes](../../relational-databases/indexes/create-nonclustered-indexes.md)
64+
- [SQL Server and Azure SQL index architecture and design guide](../../relational-databases/sql-server-index-design-guide.md)
65+
- [Create clustered indexes](../../relational-databases/indexes/create-clustered-indexes.md)
66+
- [Create nonclustered indexes](../../relational-databases/indexes/create-nonclustered-indexes.md)

docs/toc.yml

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1241,25 +1241,27 @@ items:
12411241
- name: DDL, Functions, Stored Procedures, & Views
12421242
href: relational-databases/blob/filetable-ddl-functions-stored-procedures-and-views.md
12431243
- name: Indexes
1244-
href: relational-databases/indexes/indexes.md
12451244
items:
1246-
- name: Heaps (Tables without Clustered Indexes)
1247-
href: relational-databases/indexes/heaps-tables-without-clustered-indexes.md
1248-
- name: Clustered & Nonclustered Indexes
1249-
href: relational-databases/indexes/clustered-and-nonclustered-indexes-described.md
1250-
items:
1251-
- name: Create
1245+
- name: Overview
1246+
href: relational-databases/indexes/indexes.md
1247+
- name: Heaps (Tables without Clustered Indexes)
1248+
href: relational-databases/indexes/heaps-tables-without-clustered-indexes.md
1249+
- name: Clustered & Nonclustered Indexes
12521250
items:
1253-
- name: Clustered Indexes
1254-
href: relational-databases/indexes/create-clustered-indexes.md
1255-
- name: Nonclustered Indexes
1256-
href: relational-databases/indexes/create-nonclustered-indexes.md
1257-
- name: Unique Indexes
1258-
href: relational-databases/indexes/create-unique-indexes.md
1259-
- name: Filtered Indexes
1260-
href: relational-databases/indexes/create-filtered-indexes.md
1261-
- name: With Included Columns
1262-
href: relational-databases/indexes/create-indexes-with-included-columns.md
1251+
- name: Described
1252+
href: relational-databases/indexes/clustered-and-nonclustered-indexes-described.md
1253+
- name: Create
1254+
items:
1255+
- name: Clustered Indexes
1256+
href: relational-databases/indexes/create-clustered-indexes.md
1257+
- name: Nonclustered Indexes
1258+
href: relational-databases/indexes/create-nonclustered-indexes.md
1259+
- name: Unique Indexes
1260+
href: relational-databases/indexes/create-unique-indexes.md
1261+
- name: Filtered Indexes
1262+
href: relational-databases/indexes/create-filtered-indexes.md
1263+
- name: With Included Columns
1264+
href: relational-databases/indexes/create-indexes-with-included-columns.md
12631265
- name: Delete
12641266
href: relational-databases/indexes/delete-an-index.md
12651267
- name: Modify

0 commit comments

Comments
 (0)