DB2数据库优化

获得积分
资料库会员登录
搜索: [高级搜索]
下载首页 | 资源分类 | 下载排行
您的位置: 首页 > 信息化技术 > DB2
 
分类导航
 网络管理技术与网络安全 (191个)
 oracle (127个)
 软考相关资料 (110个)
 MSSQL (56个)
 cache (16个)
 操作系统及虚拟机技术 (79个)
 存储 容灾解决方案 (102个)
 DB2 (4个)
下载排行
·db2学习
·DB2基础教程
·DB2中表快速导入EXCEL方法
·DB2数据库优化
最新资源
·DB2基础教程
·db2学习
·DB2中表快速导入EXCEL方法
·DB2数据库优化
DB2数据库优化
资源大小:142.03 KB 资源类型:文档
下载积分: 0
更多
-->
下载统计:总下载:62,本月下载:4,本周下载:4,今日下载:4
发表评论 错误报告 加入收藏夹
资源介绍
关于数据库优化有很多方法,这里针对数据库的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
按字母检索

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

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