インデックスごとのページ数を調査しようとしており、次のクエリを作成しました。
SELECT
pyi.index_type_desc as [index type],
i.name as [index name],
sum(pyi.page_count) as [number of pages]
FROM
sys.dm_db_index_physical_stats(DB_ID('testdb'),OBJECT_ID('surrogatekeys'),NULL,NULL,'DETAILED') as pyi
INNER JOIN
sys.indexes as i ON pyi.object_id = i.object_id
GROUP BY
i.name, pyi.index_type_desc
このクエリを実行すると、次の結果が得られます。
CLUSTERED INDEX PK_TableWithSurrogateKeyAndUniqueContraints 14342
CLUSTERED INDEX UNIQUE_TableWithSurrogateKeyAndUniqueContraints 14342
NONCLUSTERED INDEX PK_TableWithSurrogateKeyAndUniqueContraints 707
NONCLUSTERED INDEX UNIQUE_TableWithSurrogateKeyAndUniqueContraints 707
このテーブルは次のように作成されました。
CREATE TABLE [dbo].[SurrogateKeys]
(
[Id] [int] IDENTITY(1,1) NOT NULL,
[TimeStamp] [datetime2](7) NOT NULL,
[Username] [nvarchar](20) NOT NULL,
[Message] [nvarchar](500) NULL,
CONSTRAINT [PK_TableWithSurrogateKeyAndUniqueContraints]
PRIMARY KEY CLUSTERED ([Id]),
CONSTRAINT [UNIQUE_TableWithSurrogateKeyAndUniqueContraints]
UNIQUE ([Username], [TimeStamp]),
) ON [PRIMARY]
GO
100,000 行のランダム データが入力されます。
一意制約用の非クラスター化インデックスと、主キー列用のクラスター化インデックスの 2 つのエントリが表示されることを期待していました。
これらの二重エントリはどういう意味ですか?