REFERENCE] >
TableName 是需要收集(或者更新)统计信息的表的名称。IndexName 是需要收集或者更新统计信息的索引的名称。
注:被显示在角括号里(< > )的参数是可选的;方括号([ ])中的参数是必须的。
例如,更新存储在系统编目表中的关于表DEFAULT.EMPLOYEE的统计信息。你可以执行以下命令:
RUNSTATS ON TABLE DEFAULT.EMPLOYEE WITH DISTRIBUTION AND INDEXES ALL SHRLEVEL CHANGE
运行统计工具不会输出信息。但是,你能通过查询系统编目视图SYSCAT.TABLES的CARD, OVERFLOW, NPAGES, FPAGES列来观看它的结果。(如果这些列的值是21,就意味着统计信息尚未对该行所代表的对象起作用。)
那么应该多久去收集表的统计信息呢?理想状况下,你应该在下面一些事件之后去使用运行统计工具:
· 大量的插入、更新或删除操作
· 导入操作
· 装载操作
· 在现有表中插入一个新的字段
· 创建新索引
· 表重组
每当表的统计信息被收集或更新的时候,所有引用它的程序包都要被重新与它绑定这样优化器就可以利用新统计信息并且在可能的时候,会指出它们所包含的SQL语句的更好的访问计划。 如果重新绑定失败或者忘记重新绑定这些程序包可能导致动态sql操作执行起来会比静态sql操作要快(译者注:我对此不太明白,询问别人后得到的解释是:静态可能采取的一个费时间的路线,数据变了但访问的策略没有变;重新绑定就意味着重新改变访问策略),相反也适用。
最后,将它们放到一起
对DB2 UDB 系统或任一复杂RDBMS的调优,为了得到最佳的性能将会是一个长的过程。在这一系列专栏我通过对数据库的分析,解释了性能问题是如何典型地出现从一个或更多的下列:
粗劣的系统(环境) 配置
粗劣的实例配置
粗劣的数据库配置
粗劣的数据库设计
粗劣的应用设计。
系统调优应该从DB2UDB注册变量,DB2 数据库管理器实例配置参量以及可能有对性能产生巨大影响的数据库配置参量开始。接下来再考虑缓冲池如何使用并且确定是否使用附加的缓冲池或不同的缓冲池大小会有所帮助。选择适当的表空间类型,extent大小和prefetch 大小,并且保持系统目录统计最新,最终完成基本性能调整。
全新的路由器不仅让你更稳定快速地连接无线网络,更可以让家中的智能设备连接在一起。
关键词:IBM DB2 基本性能调整