mysql reorg_生产数据库性能优化之reorg和表重建

生产数据库的性能调优是一个系统的工程,它不仅要求DBA熟悉db2的工作原理和各种性能指标,还要求DBA也要熟悉操作系统、存储等其他知识,甚至要求DBA熟悉应用的设计原理以及它使用数据库的方式等。这里,我们只就生产数据库性能优化之reorg和表重建进行初步的探讨。1.reorg的作用要进行高效率的数据访问和获得最佳工作负载性能,具有组织良好的表数据是很关键的。在对表数据进行许多更改之后,逻辑上连续...
摘要由CSDN通过智能技术生成

生产数据库的性能调优是一个系统的工程,它不仅要求DBA熟悉db2的工作原理和各种性能指标,还要求DBA也要熟悉操作系统、存储等其他知识,甚至要求DBA熟悉应用的设计原理以及它使用数据库的方式等。这里,我们只就生产数据库性能优化之reorg和表重建进行初步的探讨。

1. reorg的作用

要进行高效率的数据访问和获得最佳工作负载性能,具有组织良好的表数据是很关键的。在对表数据进行许多更改之后,逻辑上连续的数据可能会位于不连续的物理数据页上,比如说对某个表新增一个字段,或者表的某列是可变长度的,这样在插入或者更新操作时有可能会导致行溢出。另外,在删除大量行后,也会造成表空间的数据碎片。这些情况下都会降低数据的访问速度,从而影响到数据库的性能。

表重组操作会整理数据碎片,降低表空间高水位,减少浪费的空间,并对行进行重新排序以合并溢出记录,从而加快数据访问速度并最终提高查询性能。还可以指定根据特定索引来重新排序数据,以便查询通过最少次数据读取操作就可以访问数据。既可重组系统目录表,也可以重组数据库表。

考虑以下因素,以确定是否应重组表:

· 对查询所访问的表进行了大量的插入、更新和删除活动

· 对于使用具有高集群率的索引的查询,其性能发生了明显变化

· 在执行 RUNSTATS以刷新统计信息后,性能没有得到改善

· REORGCHK 命令指示需要重组表

· 综合考虑查询性能不断降低所浪费的成本和重组表所需的成本(包括 CPU时间、经过的时间和REORG实用程序在完成重组操作之前锁定表造成的并行性降低),以确定是否进行表重组。

2. 生产数据库要不要做reorg

DB2提供了在线或离线执行reorg的选项。默认情况下,离线 REORG 允许其他用户读这个表,ALLOW READ ACCESS 是默认选项。可以通过指定 ALLOW NO ACCESS 选项来限制对表的访问。在线 REORG (也称inplace REORG)支持对表的读或写访问,ALLOW WRITE ACCESS 是默认选项。联机重组与脱机重组的比较

特征脱机重组联机重组

性能快慢

完成时数据的集群因子良好非最佳集群

并行性(对表的访问)ALLOW NO ACCESS

ALLOW READ ACCESS(默认)ALLOW RE

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值