频繁删除后需要重新组织/重建索引?

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

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

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

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

重建或重组?


您需要问的问题是索引碎片是否确实会给您带来任何问题。

我认为拥有某种索引维护脚本是个好主意。 如果您使用Ola Hallegren的脚本,那么您可以设置重建/重新组织的阈值(例如,对于重新组织可以使用超过50%的碎片,对于重新构建超过80%),并且可以在数小时之内运行。 您也可以设置一个阈值,以便它仅考虑超过一定大小的索引,以免在小型索引中进行不必要的重新构建。

这里有一个指向这些脚本的链接;

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


有了这些行数和这些操作是的,你应该关心碎片,因为性能可能会降低。 根据我读过的几篇文章,我实现了如下索引的碎片整理:

  • 如果碎片小于5%,则什么也不做
  • 如果碎片在5%到30%之间,则进行重组
  • 如果碎片大于30%,请执行重建
  • 你可以在这里获得关于索引碎片的更多细节:http://blog.sqlauthority.com/2010/01/12/sql-server-fragmentation-detect-fragmentation-and-eliminate-fragmentation/和这里http:// www .schneider-electric.com / EN /常见问题/ FA234246 /

    您可以分析索引碎片的演变,然后选择每晚或每周一次(或其他频率)进行碎片整理,

    链接地址: http://www.djcxy.com/p/95683.html

    上一篇: Need for Reorganize/Rebuild indexes after frequent DELETE?

    下一篇: Index performance while doing insert