下载此文档

DB2数据库管理最佳实践笔记-10日常运维解读.doc


文档分类:IT计算机 | 页数:约9页 举报非法文档有奖
1/9
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/9 下载此文档
文档列表 文档介绍
日常运维工具概述 Runstats 是 run statistics 的缩写, 意思是收集统计信息, 目的是为 DB2 优化器提供最佳路径选择; 是重组的意思,目的是减少表和索引在物理存储上的碎片,提供性能; chk 是重组前的检查 Rebind 是对一些包、存储过程或静态程序进行重新绑定。几个工具的执行流程: 首先通过 Runstats 收集表和索引的统计信息,然后执行 重组,如果有必要则执行,然后再次收集统计信息。最后,对于静态语句、存储过程等,执行 Rebind 绑定。 Runstats 在系统运行一个查询的时候,优化器需要决定用某种方式来访问数据。只有当 DB2 对表中的数据有一个大概的了解, 才能知道每一步操作大约需要处理多少数据, 返回多少行。当优化器了解了这些信息后,就会根据一系列的运算,判定出各种访问途径所需要消耗的资源, 然后从中选择一个消耗资源最少的方法。最普通的 Runstats 就是统计表和索引中有多少行数据,有多少不同的数值。 Runstats 命令使用 DISTRIBUTION 参数手机数据分布。数据分布分为两种,一种叫做频率采样( Frequency ), 一种叫做百分比采样( Quantile ) 。当收集数据分布时,两种采样方式都会被收集。其中频率采样是手机表中拥有相同数量最多的几行,比如 10000 行数据中 900 0 行为 10, 然后 500 行为 9, 然后 100 行为 8, 剩下的部分平均分布。如果我们制定 Frequenc y 为3 的话,那么系统就会记录下来有 9000 行 10,500 行9 ,然后 100 行8 ,剩下的部分在估算时则假定平均分布。而百分比采样则是将整个 10000 行数据分成相等大小的若干段, 然后记录每一段的段首和段尾的数值, 当需要查询一个数据段时( 比如 C1>10 AND C1<15 ),就可以根据每一个数据段的启始数值加上段落的大小,估算出符合查询条件的记录数量。理论上,数据分布收集的越细致越好。但是经过细致的数据分布信息可能会导致 DB2 在优化 SQL 时需要处理更多的信息,并占用更多的系统存储空间,可能会导致性能的下降。因此,一般情况下我们建议使用默认的数据分布采样设置,也就是频率采样为 10 ,百分比采样为 20 。但是,有些情况下,则需要根据实际情况调整分布参数。 Runstats 的语法比较复杂,在实际应用中,最常用的几种使用方法如下: 1) 为表和索引收集统计信息,包括数据分布, 代码如下: RUNSTATS ON TABLE < 表模式>.< 表名> ON ALL COLUMNS WITH DISTRIBUTION AND DETAILED INDEXES ALL 2) 收集索引统计信息, 如果表上没有统计信息, 该选项会同时对表做统计。但该选项并不会收集数据分布信息,代码如下: RUNSTATS ON TABLE < 表模式>.< 表名> FOR INDEXES ALL 3) 使用伯努利算法抽样统计。 DB2 会扫描每一行数据, 但只对一定比例的抽样数据进行统计。这种方法一般用于数据仓库中的大表。如果收集全表数据统计,将需要很长时间,并占用 CPU 资源,应用性能会造成影响。下列采用了伯努利 10% 抽样统计,代码如下: run

DB2数据库管理最佳实践笔记-10日常运维解读 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息