【问题标题】:Why is the index size so unjustifiably large?为什么索引大小如此不合理?
【发布时间】: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


【解决方案1】:

聚集索引是桌子.

你可以看看这篇文章,看看大小是如何计算的:

https://learn.microsoft.com/en-us/sql/relational-databases/databases/estimate-the-size-of-a-clustered-index?view=sql-server-ver16

【讨论】:

    猜你喜欢
    • 2013-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多