不超过30k条记录的表在少量插入之后需要重建索引



我有一个大约有20列的表。在这个表中,对于用户经常过滤的列,我有大约7个非聚集索引。活动记录(用户在屏幕上看到的记录)不超过700-800条。批处理作业每天运行两次,并在该表中插入一些记录(可能是30 - 100),并且也可能更新现有的记录。

我注意到每次批处理操作完成时索引都需要重新构建。他们的碎片化程度不会从0-1%逐步上升到50%。我注意到他们从0-1%到大约。批处理操作完成后99%。在批处理操作之间,这个表上可能会发生无数次的选择,但我认为这无关紧要。

这正常吗?我不这么认为。你认为问题出在哪里?被索引的列主要是字符串和浮点数。

一些改动可以轻易改变碎片级别。

  • 在页面上插入会导致页面分割
  • 行溢出
  • 行可以移动(向前指针)

你将有相当宽的行,所以你的数据密度(每页行)较低。如果DML分布在许多页上,那么现有行的DML将很快导致碎片化

最新更新