• db2 runstats和reorg


    当数据库里某张表上有大量插入操作时,需要在表上做 RUNSTATS 命令保证数据库掌握准确的统计信息。


    当数据库里某张表中的记录变化很大时(大量插入、删除、更新操作),需要在表上做 REORG 和 RUNSTATS 一组维护操作来优化查询的性能。有的表,可能初始化后从来都不会有数据量变化,就只需要做一次维护;有的表,一天之内的变化就很大,每天需要做多次维护。


    注意,针对数据库对象的大量操作,如反复地删除表,存储过程,会引起系统表中数据的频繁改变,在这种情况下,也要考虑对系统表进行REORG操作。




    一个完整的 REORG 表的过程应该是由下面的步骤组成的:


    RUNSTATS -> REORGCHK -> REORG -> RUNSTATS -> BIND 或 REBIND


    0 执行下面命令前要先连接数据库


    1 RUNSTATS


    由于在第二步中 REORGCHK 时可以对指定的表进行 RUNSTATS 操作(在 REORGCHK 时指定 UPDATE STATISTICS),所以第一步是可以省略的。如果知道哪些特点的表有数据变化,又可以只执行第一步而省略第二步。


    如果表名为 DB2INST1.STAFF,表上有索引,可以执行下面的 RUNSTATS 操作:


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


    2 REORGCHK


    REORGCHK是根据统计公式计算表是否需要重整。


    对于每个表有3个统计公式,对索引有5个统计公式(版本8),如果公式计算结果该表需重整,在输出的 REORG 字段中相应值为*,否则为-。


    如果数据库中数据量比较大,在生产系统上要考虑 REORGCHK 的执行时间可能较长,需安排在非交易时间执行。


    可以分为对系统表和用户表两部分分别进行 REORGCHK:


    1) 针对系统表进行REORGCHK


    db2 reorgchk update statistics on table system


    使用 UPDATE STATISTICS 参数指定数据库首先执行 RUNSTATS 命令。


    2) 针对用户表进行 REORGCHK


    db2 reorgchk update statistics on table user


    根据统计公式的计算结果(是否有 *),考虑是否必要对表进行 REORG。注意,某些小表的结果可能由于统计信息过少而不准确。


    3 REORG TABLE


    执行 REORG 可以考虑分为表上有索引和没有索引两种情况:


    1) 如果表上有索引


    如表名为 DB2INST1.STAFF,索引名为 DB2INST1.STAFF,


    REORG 表:


    db2 reorg table db2inst1.staff index db2inst1.istaff use tempspace1


    建议 REORG 时可以使用USE参数指定数据重排时使用的临时表空间。如果不指定, REORG 工作将会在表所在表空间中原地执行。


    如果表上有多个索引,INDEX 参数值请使用最为重要的索引名。


    REORG 索引:


    db2 reorg indexes all for table db2inst1.staff


    2) 如果表上没有索引


    如表名为DB2INST1.STAFF, SYSIBM.SYSTABLES


    db2 reorg table db2inst1.staff use tempspace1


    db2 reorg table sysibm.systables use tempspace1


    4 RUNSTATS


    参见步骤 1。


    5 (可选) 上面命令完成后可以重复第二步,检查 REORG 的结果,如果需要,可以再次执行 REORG 和 RUNSTATS 命令。


    6 BIND 或 REBIND


    RUNSTATS 命令运行后,应对数据库中的 PACKAGE 进行重新联编,简单地,可以使用 db2rbind 命令来完成。


    例如,如果数据库名为 SAMPLE,执行:


    db2rbind sample -l db2rbind.out

    原文链接:http://zoroaster.itpub.net/post/29214/275626

  • 相关阅读:
    现代软件工程 第一周博客作业
    现代软件工程 课题初步调研 在线即时评教系统
    php判断网页是否gzip压缩
    采集练习(五) php 获得chrome扩展 微度新标签页 下的云壁纸(主要是美女壁纸)
    <raspberry pi> raspberry pi 设置wlan 静态ip
    采集练习(三) php 采集当当网图书的数据(初版)
    采集练习(六) python获得chrome扩展 微度新标签页 下的云壁纸
    采集练习(七) php 获得电视节目预告(一周节目)
    采集练习(八) php 获得网易精彩跟贴数据
    采集练习(四) python 获得hao123导航图片分类下的美女图片
  • 原文地址:https://www.cnblogs.com/xiaojianblogs/p/7266447.html
Copyright © 2020-2023  润新知