DB2中更新施行方案的几个罕见的方法-2

 
 
4. 当你在分区(DPF)数据库表面应用了REDISTRIBUTE DATABASE PARTITION GROUP这个敕令,那么就需求用runstats来集合新的统计信息。
 
RUNSTATS敕令的语法如下:
 
假设表名为DB2INST1.STAFF,表上有索引,则可以用上面的例子完成RUNSTATS敕令:

db2 runstats on table db2inst1.
staff with distribution and detailed indexes all
 
 

在现实的项目表面,关于改造相比大年夜的表,需求我们准时对数据库做runstats,普通来说runstats和reorg可以团结起来做,起首对表作reorg,然后做runstats,着末REBIND数据库根据最新的统计信息天生适合的统计方案。
 
值得注重的是,假设我们要处置的表数据量是快速改造的,例如在电信挪动行业,需求在月末截至处置的汇总表。在不长的时分局限内数据质改造非凡大年夜,从而使得RUNSTATS 获得的统计信息不正确,缘故原由是这些统计信息只是某个时分点的信息。您可以用这条语句来把表修正为volatile。

alter table table_name volatile cardinality
 
 

这样优化器将考虑应用索引扫描而不是表扫描。无论统计信息怎样,优化器将应用索引扫描而不是应用表扫描。
 
IBM的文档表面还供给了REORGCHK这个敕令,可以根据统计公式比赛争论表能否需求重整。
 
例如可以分为对细碎表和用户表两局部离去截至REORGCHK:
 
(1) 针对细碎表截至REORGCHK:

db2 reorgchk update statistics on table system
 
 

(2) 针对用户表截至REORGCHK:

db2 reorgchk update statistics on table user
 
 
需求注重的是,假设数据库中数据量相比大年夜,这些操纵普通所需时分相比长,所以只管安排在数据库相比闲暇的时分做。
 
db2 update db cfg using AUTO_MAINT off AUTO_TBL_MAINT off AUTO_RUNSTATS off
 
在DB2 8.2表面数据库可以自动截至统计信息集合,不外这样的流动照旧会带来额定的负载,普通状况上面可以关失,只在我们需求的时分运转就可以了。
 
LOAD
 
Load这个工具是DB2表面一个额定极度强盛的数据迁移工具。普通用作大年夜批量的数据拔出。由于Load操纵不记日记,所以遵从额定极度好。笔者曾经在RS6000平台上面完成50-60m/s的速率Load数据。在这里我想讨论的是在DB2数据库表面怎样用load来影响你的catalog视图的统计信息。
 
在Load的时分应用statistics选项可以在装入的进程中天生统计数据,这些统计数据可以供优化器确定最有用的施行sql语句的方法。
 
例如:
 
对表和索激发生发火最详细的统计数据:
 
load from mobile_number.
del of del replace into
mobile statistics yes with
distribution and detailed indexes all
 
 
对表和索引都发生发火大年夜概纰漏的统计:

load from mobile_number.del of del replace into
mobile statistics yes and indexes all
 
 

需求值得注重的时分在DB2 8.2新版本表面,可以这样做:

load from mobile_number.del of del replace into
mobile statistics use profile
 
 
DB2 LOOK
 
Db2look是DB2一个相称强盛的一帮助工具,可以帮助我们从当前数据库表面把数据库结构抽掏出来。在数据迁移的许多场所,我们都额定极度需求这个强盛的工具。
 
在一些场所,非但凡开发库迁移到消费库,消费库迁移到开发库的状况中,为了保证SQL施行方案的分比如,我们需求用db2look这个工具,应用 db2look 工具供给的抽取数据库工具统计信息的效果,把数据库的统计信息截至迁移。
 
例如:
 
(1) 在用户状况下提取统计信息:

db2 runstats on table <用户表情势名>.<表名>
db2look -d <用户数据库名> -t <表名> -m -o statis.sql
 
 

输出文件中是对用户的 DB2 细碎编目表中与该表统计信息干系的各字段值的 UPDATE 语句。

db2 -svtf statis.sql
 
 

(2) 应用用户供给的统计信息更新测试状况下测试表的统计信息。
 
 
来自: 新客网(www.xker.com) 详文参考:http://www.xker.com/page/e2008/0128/46625_2.html


版权声明: 原创作品,容许转载,转载时请务必以超链接情势标明文章 原始来由 、作者信息和本声明。不然将穷究规律责任。

posted @ 2011-03-07 18:12  蓝色的天空III  阅读(275)  评论(0编辑  收藏  举报