DB2如何在模式的所有表上自动收集统计信息?

时间:2017-12-13 13:49:02

标签: database db2

是否有更简单的方法来收集DB2中模式的所有表的DB2统计信息。

我目前分两步执行此操作:

生成架构中所有表名的列表。

然后对每个表执行以下操作:

RUNSTATS ON TABLE schema.table AND INDEXES ALL

LUW上的DB2 V9.7

1 个答案:

答案 0 :(得分:1)

对于Db2 LUW V9.7,如果您坚持使用脚本化的runstats,则必须生成对象列表,然后运行这些对象。这很容易编写脚本。有时最好通过auto_runstats让Db2进入runstats。

还有REORGCHK命令的副作用,它允许语法'db2 reorgchk update statistics on schema X'(尽管你可能不想使用它)。

对于自动运行状态,允许每个表具有可选的runstats-profile,并在需要运行runstats时定义(通过XML)时间窗口并使用存储过程AUTOMAINT_SET_POLICY或AUTOMAINT_SET_POLICYFILE可能更为明智,让Db2为你工作。对于许多用例,这是最佳的(特别是当数据库不断增长并且具有特定于表的配置文件的能力变得非常宝贵时),但不是全部。