在分析行结构时,我很难理解为什么在下面得到多个条目。
首先,我摆了两张桌子。
我正在使用下面的查询深入研究行/页结构。
CREATE TABLE [Table1]
(
[Column1] INT IDENTITY PRIMARY KEY,
[Column2] VARCHAR (100),
[Column3] VARCHAR (20)
)
CREATE TABLE [Table2]
(
[Column1] INT IDENTITY
FOREIGN KEY REFERENCES [Table1]([Column1]),
[Column4] VARCHAR (1000)
)
然后,我使用以下方法插入100万行
BEGIN TRANSACTION
INSERT INTO [Table1] ([Column2], [Column3])
VALUES (REPLICATE ('2', 50), REPLICATE('3', 20))
INSERT INTO [Table2] ([Column4])
VALUES (REPLICATE ('4', 1000))
GO 1000000
COMMIT TRANSACTION
然后,使用下面的查询,我尝试查看构成该表的页面数。
SELECT
[alloc_unit_type_desc] AS [Data Structure],
[page_count] AS [pages],
[record_count] AS [Rows]
FROM
SYS.dm_db_index_physical_stats (DB_id(), OBJECT_ID (N'Table1'), NULL, NULL, N'detailed')
我的问题是:其他41页是从哪里来的?当它们明显不包含相同的数据时?我也没有在select表上看到它们。
发布于 2016-04-03 20:06:44
如果将index_level
添加到查询中,您将看到
SELECT [alloc_unit_type_desc] AS [Data Structure],
[page_count] AS [pages],
[record_count] AS [Rows],
index_level
FROM sys.dm_db_index_physical_stats (DB_id(),
OBJECT_ID (N'Table1'), NULL, NULL, N'detailed')
表是用主键创建的。默认情况下,这将是聚集索引。支持此功能的B-树索引只有一个根页,在根级和11,112个叶级页面之间有40个中间页,位于0级。
(聚集索引从这里开始的结构)
https://stackoverflow.com/questions/36390326
复制相似问题