sql-server - 频繁删除后需要重组/重建索引吗?

标签 sql-server tsql

我有一个包含 4000 万行(并且还在增长)的表,其中包含一个标识主键聚簇索引和一个非聚簇索引。

我经常需要删除旧的或过时的信息。

因为这是一个频繁的操作,我是否应该关心碎片并计划对索引进行一些维护以保持性能?

应该是什么,或者我应该如何评估两个索引的最佳操作:

重建还是重组?

最佳答案

您需要问的问题是索引碎片是否真的给您带来了任何问题。

我认为拥有某种索引维护脚本是个好主意。如果您使用 Ola Hallegren 的脚本,那么您可以设置重建/重组的阈值(比如超过 50% 的碎片用于重组,超过 80% 用于重建)并且这可以在一夜之间运行。您还可以设置一个阈值,以便它只考虑超过一定大小的索引,这样您就不会对小索引进行不必要的重建。

这是上述脚本的链接;

https://ola.hallengren.com/sql-server-index-and-statistics-maintenance.html

关于sql-server - 频繁删除后需要重组/重建索引吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39364803/

相关文章:

sql-server - 处理具有不同结构的文件 For each Loop SSIS

sql-server - TSQL:按周对客户订单进行分组

sql - 验证 T-SQL 存储过程的可靠方法

tsql - 始终返回上周周一至周日的数据

sql - XML 解析和 T-SQL——第 3 部分

sql-server - 建模和查询多个事实表

sql - SQL Server如何获取一个巨大字段的内容?

sql - FAST_FORWARD 游标何时会有工作表(这是要避免的事情)?

sql-server - @@procid 是什么意思?

sql - 检查 NULL 或 0