Skip to content

Commit f1bfb8d

Browse files
committed
Integrating changes from Pedro's review
1 parent bd7d6b1 commit f1bfb8d

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

docs/relational-databases/sql-server-index-design-guide.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ Row locators also ensure uniqueness for nonclustered index rows. The following t
421421
| | Non-unique | Clustered index keys and uniqueifier (when present) added to key columns|
422422
| | Unique | Clustered index keys and uniqueifier (when present) added to included columns|
423423

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.
425425

426426
The following examples shows how row locators are implemented in nonclustered indexes:
427427

@@ -569,7 +569,7 @@ When you design nonclustered indexes with included columns consider the followin
569569
```sql
570570
SELECT AddressLine1, AddressLine2, City, StateProvinceID, PostalCode
571571
FROM Person.Address
572-
WHERE PostalCode BETWEEN N'98000' and N'99999';
572+
WHERE PostalCode BETWEEN N'98000' AND N'99999';
573573
GO
574574
```
575575

@@ -583,7 +583,7 @@ ON Person.Address (PostalCode)
583583
INCLUDE (AddressLine1, AddressLine2, City, StateProvinceID);
584584
```
585585

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).
587587

588588
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.
589589

@@ -680,7 +680,7 @@ CREATE NONCLUSTERED INDEX FIBillOfMaterialsWithEndDate
680680
GO
681681
```
682682

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.
684684

685685
```sql
686686
SELECT ProductAssemblyID, ComponentID, StartDate
@@ -1017,7 +1017,7 @@ There are no in-place updates of index pages. New delta pages are introduced for
10171017

10181018
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.
10191019

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.
10211021

10221022
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.
10231023

0 commit comments

Comments
 (0)