DB2数据库优化

获得积分
资料库会员登录
搜索: [高级搜索]
下载首页 | 资源分类 | 下载排行
您的位置: 首页 > 信息化技术 > DB2
 
分类导航
下载排行
最新资源
DB2数据库优化
资源大小:142.03 KB 资源类型:文档
下载积分: 0
更多
-->
下载统计:总下载:0,本月下载:0,本周下载:0,今日下载:0
发表评论 错误报告 加入收藏夹
资源介绍
关于数据库优化有很多方法,这里针对数据库的runstat(运行统计)和reorg(重组)进行以下说明;
一、runstats:
    1、runstats的作用:
    一个SQL在写完并运行之后,其实我们只是告诉了DB2去做什么,而不是如何去做。而,具体的如何去做,就取决于优化器。优化器为了生成最优的执行计划,就得掌握当前的系统信息,目录中的统计信息等等。
runstats命令就是用来收集数据库对象的状态信息,这对优化器生成最优的执行计划至关重要。
    2、什么时候需要runstats:
    在给表创建一个index后,我们最好做一次runstat,否则可能index没有生效。不过有说法称在8.2版本以后的DB2中,会在INDEX之后自动进行runstats;
    在对table做了一次reorg后,记得要做一次runstats。因为对表做reorg,会修改表的很多信息,比如高水位等,所以做一次runstats,可以更新统计信息。
    当表里数据发生了比较大的变化,一般来说,大约表里面的数据量的10%-20%发生了变化,就应该作一次runstats。这些变化包括删除,修改,插入。对于一些非常大的表,比方在某些医院,出院明细账表非常巨大。这个时候,完整的对一个大表做runstats可能花费时间相当大,需要提前做好准备;
    3、runstats的语法:
    runstats on table [模式名].[表名] with distribution and detailed indexes all
    你可以在所有列上,或者仅仅在某些列或列组(除了LONG和LOB列)上执行RUNSTATS。如果没有指定特定列的子句,系统则会使用默认的ON ALL COLUMNS子句。
     使用RUNSTATS WITH DISTRIBUTION
    当您已确定表中包含不是统一分布的数据时,可以运行包含WITH DISTRIBUTION子句的RUNSTATS。目录统计信息表通常包含关于表中最高和最低值的信息,而优化器假定数据值是在两个端点值之间均匀分布的。然而,如果数据值彼此之间差异较大,或者群集在某些点上,或者是碰到许多重复的数据值,那么优化器就无法选择一个最佳的访问路径,除非收集了分布统计信息。使用WITH DISTRIBUTION子句还可以帮助查询处理没有参数标志符(parameter marker)或主机变量的谓词,因为优化器仍然不知道运行时的值是有许多行,还是只有少数行。
    如果为单一索引进行runstats,可以使用:
    runstats on table [模式名].[表名] for indexes [索引名]
    4、图像界面下runstats;
    首先在维护机上编目需要优化的的数据库;
    连接数据库;
    找到需要做runstats的表,右键,选择运行统计信息;
           

二、reorg
    在对表数据进行许多更改之后,逻辑上连续的数据可能会位于不连续的物理数据页上,在许多插入操作创建了溢出记录时尤其如此。按这种方式组织数据时,数据库管理器必须执行其他读操作才能访问顺序数据。另外,在删除大量行后,也需要执行其他的读操作。
  表重组操作会整理数据碎片来减少浪费的空间,并对行进行重新排序以合并溢出记录,从而加快数据访问速度并最终提高查询性能。还可以指定根据特定索引来重新排序数据,以便查询时通过最少次数据读取操作就可以访问数据。
下载地址
 下载地址1
按字母检索

下载须知:
大部份资源无需注册即可下载
需要积分的资源要在会员中心注册会员并用 积分体系中提示的方法赚取积分才能下载。

免责声明:
所有资源只能用于参考学习,不能用于任何商业用途,否则后果自负!