非クラスター化インデックスの利点をテストします。
クエリを実行するときにdbAdventureWorksを使用します。
SELECT [address].City, [address].[AddressLine1]
FROM [AdventureWorks].[Person].[Address] as [address]
WHERE [address].City = 'Seattle'
実行プランタブに表示されます
/*
Missing Index Details from SQLQuery3.sql -
The Query Processor estimates that implementing the following index could improve the query cost by 97.9636%.
*/
/*
USE [AdventureWorks]
GO
CREATE NONCLUSTERED INDEX [<Name of Missing Index, sysname,>]
ON [Person].[Address] ([City])
GO
*/
そして、私は実行プレーンタブアイコン「クラスター化されたインデックススキャン」を見て、インデックスシークが優れているのでそれが悪いことを知っています
しかし、クエリを実行すると
USE [AdventureWorks]
GO
CREATE NONCLUSTERED INDEX CityIdx
ON [Person].[Address] ([City])
GO
実行中のプレーンタブ「クラスター化されたインデックススキャン」がまだ表示されます。なぜ「クラスター化されたインデックスシーク」ではないのですか?「クラスター化されたインデックスシーク」である必要がありますか?その場合は「クラスター化インデックスシーク」にする必要があります。