0
我试图调查到的每个索引页面的数量,并制定了以下查询:SQL Server 2008的:在一个索引的网页数量
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
,并拥有10万行Ø填充f随机数据。
我期望看到两个条目:唯一约束的非聚集索引和主键列的聚集索引。
这些双项是什么意思?
这做到了感谢。 – 2014-09-29 13:36:24
一个简单的问题,也许是一个愚蠢的问题:如果来自sys.dm_db_index_physical_stats的第一个查询返回6行,为什么连接只返回4行?我会期待它返回不完整连接中的所有6行。 – 2014-09-29 13:51:18