【发布时间】:2019-08-16 10:39:46
【问题描述】:
我有几张表有数百万的数据。我想根据列值定期删除一些条目。但是大多数表都定义了多个索引。那么我应该选择删除并创建非聚集索引方案还是禁用和启用非聚集索引以获得更好的性能?我需要将相应的删除过程安排为计划作业,因为此任务需要每周重复一次。
【问题讨论】:
-
你只能通过测试才能确定,但一般来说,如果表很大,你要删除少量的行,重新创建索引的成本将远远超过你获得的时间。无需维护索引即可删除。您还可以考虑在列上对表进行分区,以允许通过截断分区来删除数据,这要快得多。
标签: sql sql-server database-performance query-performance database-administration