• 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


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

  • 相关阅读:
    android使用ant编译打包
    Android OpenGL ES 2.0 (二) 画立方体
    Android OpenGL ES 2.0 (三) 灯光pervertex lighting
    OpenGL ES2.0里的3种变量
    JAVA对DOM的一些解析、修改、新增操作
    webservice(二)示例代码
    linux改IP
    android从未安装的apk文件里获取信息(包信息,资源信息)
    Android OpenGL ES 2.0 (一) 画三角形
    一个关于closure的问题.
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1975382.html
Copyright © 2020-2023  润新知