You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/relational-databases/sql-server-index-design-guide.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -421,7 +421,7 @@ Row locators also ensure uniqueness for nonclustered index rows. The following t
421
421
|| Non-unique | Clustered index keys and uniqueifier (when present) added to key columns|
422
422
|| Unique | Clustered index keys and uniqueifier (when present) added to included columns|
423
423
424
-
The database engine will never store a given column twice in a nonclustered index. The index key order specified by the user when they create a nonclustered index is always honored: any row locator columns which need to be added to the key of a nonclustered index will be added at the end of the key, following the columns specified in the index definition. Row locator columns in a nonclustered index can be used by the query optimizer, regardless of whether they were explicitly specified in the index definition.
424
+
The database engine will never store a given column twice in a nonclustered index. The index key order specified by the user when they create a nonclustered index is always honored: any row locator columns which need to be added to the key of a nonclustered index will be added at the end of the key, following the columns specified in the index definition. Clustered index key-based row locator columns in a nonclustered index can be used by the query optimizer, regardless of whether they were explicitly specified in the index definition.
425
425
426
426
The following examples shows how row locators are implemented in nonclustered indexes:
427
427
@@ -569,7 +569,7 @@ When you design nonclustered indexes with included columns consider the followin
569
569
```sql
570
570
SELECT AddressLine1, AddressLine2, City, StateProvinceID, PostalCode
571
571
FROMPerson.Address
572
-
WHERE PostalCode BETWEEN N'98000'and N'99999';
572
+
WHERE PostalCode BETWEEN N'98000'AND N'99999';
573
573
GO
574
574
```
575
575
@@ -583,7 +583,7 @@ ON Person.Address (PostalCode)
583
583
INCLUDE (AddressLine1, AddressLine2, City, StateProvinceID);
584
584
```
585
585
586
-
To validate that the index covers the query, create the index, then run the query and [display an Actual Execution Plan](performance/display-an-actual-execution-plan.md).
586
+
To validate that the index covers the query, create the index, then [display the estimated execution plan](performance/display-the-estimated-execution-plan.md).
587
587
588
588
If the execution plan shows only a SELECT operator and an Index Seek operator for the `IX_Address_PostalCode` index, the query has been "covered" by the index.
589
589
@@ -680,7 +680,7 @@ CREATE NONCLUSTERED INDEX FIBillOfMaterialsWithEndDate
680
680
GO
681
681
```
682
682
683
-
The filtered index `FIBillOfMaterialsWithEndDate` is valid for the following query. [Display the actual execution plan](performance/display-an-actual-execution-plan.md) to determine if the query optimizer used the filtered index.
683
+
The filtered index `FIBillOfMaterialsWithEndDate` is valid for the following query. [Display the estimated execution plan](performance/display-the-estimated-execution-plan.md) to determine if the query optimizer used the filtered index.
684
684
685
685
```sql
686
686
SELECT ProductAssemblyID, ComponentID, StartDate
@@ -1017,7 +1017,7 @@ There are no in-place updates of index pages. New delta pages are introduced for
1017
1017
1018
1018
The key value in each non-leaf level page depicted is the highest value that the child that it points to contains and each row also contains that page logical page ID. On the leaf-level pages, along with the key value, it contains the physical address of the data row.
1019
1019
1020
-
Point lookups are similar to B+ trees except that because pages are linked in only one direction, the [!INCLUDE[ssDEnoversion](../includes/ssdenoversion-md.md)] follows right page pointers, where each non-leaf pages has the highest value of its child, rather than lowest value as in a B+ tree.
1020
+
Point lookups are similar to B-trees except that because pages are linked in only one direction, the [!INCLUDE[ssDEnoversion](../includes/ssdenoversion-md.md)] follows right page pointers, where each non-leaf pages has the highest value of its child, rather than lowest value as in a B-tree.
1021
1021
1022
1022
If a Leaf-level page has to change, the [!INCLUDE[ssDEnoversion](../includes/ssdenoversion-md.md)] does not modify the page itself. Rather, the [!INCLUDE[ssDEnoversion](../includes/ssdenoversion-md.md)] creates a delta record that describes the change, and appends it to the previous page. Then it also updates the page map table address for that previous page, to the address of the delta record that now becomes the physical address for this page.
0 commit comments