删除索引以提高表更新效率

在 某些应用程序中,可以将大多数表更新的限制在一个时段内进行。 您可以设置系统,让所有的更新在夜间或者指定日期进行。 如果以批处理方式进行更新,您就可以在更新时删除所有非唯一索引,然后建立新索引。

该策略有两个优点:
  • 如果更新程序在更新表的同时不需要更新索引,那么该程序的运行会快得多。
  • 重新创建的索引更有效率。

有关何时删除索引的更多信息,请参阅非唯一索引

要装入没有索引的表:

  1. 删除该表(如果存在)。
  2. 不指定任何唯一约束而创建表。
  3. 将所有行均装入表中。
  4. 更改该表,使之符合唯一约束。
  5. 创建非唯一索引。

如果无法保证装入的数据能够符合所有唯一约束,就必须在装入行之前建立唯一索引。 如果这些行是按至少一个索引正确排序的,那么可以节约时间。 如果可以选择,使之成为包含最大键的行。 此策略可以使必须读取和写入的叶子页的数量最少。