在有些应用程序中,大多数表更新可以限制在一个时段内进行。 您可以设置系统,让所有的更新在夜间或者指定日期进行。 此外,以批处理方式执行更新时,您就可以在更新时删除所有非唯一索引,然后建立新索引。 此策略可以改善性能。
为了节约时间,应确保批处理更新程序按照主键索引定义的顺序请求行。 该顺序使得按顺序读取主键索引的各页,而且每页只读取一次。
使用 LOAD 语句或 dbload 实用程序时,使用索引还将降低表的植入速度。装入一个没有索引的表是一个很快的过程(和盘对盘顺序复制速度一样),但是更新索引会增加很大的开销。
要避免此开销,可以:
如果无法保证装入的数据能够符合所有唯一约束,就必须在装入行之前建立唯一索引。 如果这些行是以至少一种索引正确排序的,就能够节约时间。 如果可以选择,使之成为包含最大键的行。 此策略可以使必须读取和写入的叶子页的数量最少。