我使用了内置的性能调整工具并为我的数据库构建了索引。从那时起,我将一些查询从“选择前 10 名...”更改为“选择前 50 名”。
我的问题是我需要重建 SQL Server 数据库索引吗?
最佳答案
如果您更改的只是前 10 名和前 50 名的索引,则不需要重建索引。关于执行计划的查询完全相同(因此将从现有索引中受益),唯一的区别是您是从结果集中检索一些额外的行。
如果您注意到更改后性能大幅下降,则问题一定出在其他地方。例如,我看到在以不同于索引的自然顺序的顺序添加数据后,出于性能原因需要重建聚簇索引。但这是因为新的数据,而不是因为前 10 名变成了前 50 名。
编辑:Sam Saffron 评论说执行计划可以在前 10 个和前 50 个查询之间发生变化,为确保这不会发生在您身上,请检查两个执行计划并查看它们是否不同。
关于sql-server - 我需要重建 SQL Server 数据库索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992905/