Blu*_*ppy 12 performance index sql-server
我有一个存储过程,在插入新数据(基于其他表中的数据、计算等)之前,它会截断一些包含大约 1.75M 行的表。
基本大纲很简单:
我想知道我是否应该在此过程中的任何时候明确重新构建索引?例如
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[或类似的东西]也许
ALTER INDEX ALL ON xxx DISABLE
ALTER INDEX ALL ON xxx REBUILD WITH (FILLFACTOR=90)
[或类似的东西]感谢任何帮助......不是 DBA - 非常了解 DB 的开发人员更准确!
与大多数此类问题一样,这取决于。您不太可能以“正确”的顺序为所有涉及的索引插入数据,这意味着所有这些索引都可能在插入过程中遇到大量页面拆分。因此,让我们假设您按聚集索引顺序插入。您可以禁用所有非聚集索引、截断、插入,然后重建所有非聚集索引。当然,无论背后的理论如何,尝试这两种方法都会告诉您哪种方法更快。:)
归档时间: |
|
查看次数: |
24258 次 |
最近记录: |