收集目录统计信息

使用 RUNSTATS 实用程序来收集关于表、索引和统计视图的目录统计信息。 查询优化器将使用此信息为查询选择最佳存取方案。

关于本任务

有关使用此实用程序所需的特权和权限的信息,请参阅 RUNSTATS 命令的描述。

过程

要收集目录统计信息,请执行以下操作:

  1. 对于要收集其统计信息的表、索引或统计视图,连接至该表、索引或视图所在的数据库。
  2. 通过使用下列其中一个方法,收集对表、索引或统计视图运行的查询的统计信息:
    • Db2® 命令行中执行 RUNSTATS 命令,并使用适当的选项。 这些选项使您能够为那些对表、索引或统计视图运行的查询定制所要收集的统计信息。
    • IBM Data Studio ,打开 RUNSTATS 命令的任务助手。
  3. RUNSTATS 操作完成后,发出 COMMIT 语句以释放锁定。
  4. 对于已更新其统计信息的表、索引或统计视图,重新绑定任何访问那些表、索引或统计视图的程序包。

结果

注:
  1. RUNSTATS 命令不支持使用昵称。 如果查询访问联合数据库,请使用 RUNSTATS 命令来更新所有数据库中的表的统计信息,然后删除并重新创建访问远程表的昵称,以使新统计信息可供优化器使用。
  2. 在分区数据库环境中收集某个表的统计信息时,RUNSTATS 将只对从其中执行该实用程序的数据库分区执行操作。 在此数据库分区中获得的结果将被推广到其他数据库分区。 如果此数据库分区未包含该表的所需部分,那么该请求将被发送到数据库分区组中第一个包含所需数据的数据库分区。

    收集统计视图的统计信息时,将对所有包含该视图所引用的基本表的数据库分区收集统计信息。

  3. 对于 DB2 V9.7 FP1 及更高版本的发行版,下列各项适用于收集类型为 XML 的列的分布统计信息:
    • 收集基于 XML 列中所指定 XML 数据的每个索引的分布统计信息。
    • RUNSTATS 命令必须同时收集分布统计信息和表统计信息,才能收集基于 XML 数据的索引的分布统计信息。
    • 缺省情况下,RUNSTATS 命令最多可以对每个基于 XML 数据的索引的分布统计信息收集 250 个分位数。 可以在执行 RUNSTATS 命令时指定某列的最大分位数。
    • 收集基于 XML 数据类型为 VARCHAR、DOUBLE、TIMESTAMP 和 DATE 的索引的分布统计信息。 将不收集基于 XML 数据类型为 VARCHAR HASHED 的索引的 XML 分布统计信息。
    • 将不收集基于分区表中所定义 XML 数据的分区索引的分布统计信息。