【发布时间】:2022-10-01 07:41:50
【问题描述】:
我有一张有 280k 行的表。它有一个聚集的主键。当我查看主键索引的大小时,它报告为 5.8 GB。对于 280k 行来说太大了。
SELECT i.name AS IndexName, SUM(page_count * 8) AS IndexSizeKB
FROM sys.dm_db_index_physical_stats(DB_ID(), OBJECT_ID(\'dbo.SessionSignIn\'), NULL, NULL, \'DETAILED\') AS s
JOIN sys.indexes AS i ON s.[object_id] = i.[object_id] AND s.index_id = i.index_id
WHERE i.name = \'PK_SessionSignIn\'
GROUP BY i.name
因此,我从 SSMS 运行 Index Physical Stats 报告并得到以下信息:
看起来这个索引有 2 个部分,而后一部分似乎占据了所有空间。在重新组织索引时,我尝试重建索引,但它没有改变任何东西。
占用所有空间的部分是什么?我该如何摆脱它?
-
为什么它太大了?您需要向我们展示您的表格定义
标签: sql sql-server indexing sql-server-2017