sql-server - 我需要重建 SQL Server 数据库索引吗?

标签 sql-server

我使用了内置的性能调整工具并为我的数据库构建了索引。从那时起,我将一些查询从“选择前 10 名...”更改为“选择前 50 名”。

我的问题是我需要重建 SQL Server 数据库索引吗?

最佳答案

如果您更改的只是前 10 名和前 50 名的索引,则不需要重建索引。关于执行计划的查询完全相同(因此将从现有索引中受益),唯一的区别是您是从结果集中检索一些额外的行。

如果您注意到更改后性能大幅下降,则问题一定出在其他地方。例如,我看到在以不同于索引的自然顺序的顺序添加数据后,出于性能原因需要重建聚簇索引。但这是因为新的数据,而不是因为前 10 名变成了前 50 名。

编辑:Sam Saffron 评论说执行计划可以在前 10 个和前 50 个查询之间发生变化,为确保这不会发生在您身上,请检查两个执行计划并查看它们是否不同。

关于sql-server - 我需要重建 SQL Server 数据库索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3992905/

相关文章:

sql - 如何加密 SQL Server 2008 数据库

sql - 如何修改此查询以仅获取字段值不为 0 的最后一条记录?

sql-server - SQL Server 2008 空间 : find a point in polygon

c# - 使用 ADO.NET 从 SQL 获取单个值

sql-server - 将所有 SQL Server 列从 BigInt 更改为 Int

SQL 服务器 : Query Joining Two Tables

html - 从 Sql Server 中的 Html 列替换 img src

SQL Server INSERT 性能(SQL、Azure SQL 数据库)

sql - 基于服务日期的 JOIN 表

.net - .net DbProviderFactory 线程安全吗?