DB2 MDC 表的优化策略_第1页
DB2 MDC 表的优化策略_第2页
DB2 MDC 表的优化策略_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

DB2MDC表的优化策略如果创建多维集群(MDC)表,那么可以提高许多查询的性能,这是因为优化器可以应用附加的优化策略。这些策略主要依赖于块索引效率有所提高,但根据多个维进行集群这一优点还能提高数据检索速度。MDC表优化策略还可以利用分区内并行性和分区间并行性的性能优点。请考虑MDC表的下列具体优点:.维块索引查找操作可以标识表的所需部分,并且能够快速地仅扫描所需的块。•因为块索引小于记录标识(RID)索引,所以查找速度更快。.可以在块级别执行索引AND和OR运算,并可以将这些运算与RID相结合。•保证在扩展数据块内集群数据,这有助于提高检索速度。•如果可以使用转出方法,那么删除行的速度将更快。请考虑名为SALES的MDC表的以下简单示例,这个表对REGION和MONTH列定义了维:select*fromsaleswheremonth='March'andregion='SE'对于此查询,优化器可以执行维块索引查找操作,以寻找月份为三月且地区为SE的块。然后,它可以只扫描那些块,以便快速地访存结果集。当条件允许使用转出方法来进行删除时,将使用这种从MDC表中删除行的更高效方法。必需的条件包括:该DELETE语句是搜索型DELETE,而不是定位型DELETE(该语句不使用WHERECURRENTOF子句)。•没有WHERE子句(将删除所有行),或者WHERE子句只包含应用于维的条件。定义表时,未指定DATACAPTURECHANGES子句。•该表不是引用完整性关系中的父表。未对该表定义ONDELETE触发器。•未在任何立即刷新的MQT中使用该表。•如果级联删除操作的外键是该表的维列的子集,那么它可能适合于转出。在由CREATETRIGGER语句的OLDTABLEAS子句指定的触发SQL操作之前,该DELETE语句不能出现在对临时表执行并标识了受影响行集的SELECT语句中。在转出删除期间,不会记录所删除的记录。而是,将通过重新格式化页的某些部分使包含这些记录的页表现为空页。将会记录对重新格式化的部分所作的更改,但不会记录这些记录本身。立即清除转出这一缺省行为是指,在删除时清除RID索引。还可以通过将注册表变量DB2_MDC_ROLLOUT设为IMMEDIATE,或者通过对SETCURRENTMDCROLLOUTMODE语句指定IMMEDIATE来指定此方式。与标准删除操作相比,索引更新的日志记录没有变化,因此,性能提高取决于RID索引的数目。RID索引越少,性能就越好,衡量标准是总时间和日志空间所占的百分比。可以使用以下公式来估算可以节省的日志空间量:S+38*N-50*P其中,N是已删除的记录数,S是已删除的记录的总大小(包括空指示符和VARCHAR长度之类的开销),P是包含已删除的记录的块中的页数。此数值是实际日志数据的缩减量。节省的所需活动日志空间量是此值的两倍,这是因为,还将节省为回滚操作保留的空间。另外,在落实事务之后,可以使用延迟清除转出方法来更新RID索引。还可以通过将注册表变量DB2_MDC_ROLLOUT设为DEFER,或者通过对SETCURRENTMDCROLLOUTMODE语句指定DEFERRED来指定此方式。在延迟转出方式下,将在删除操作落实后在后台以异步方式清除RID索引。在删除任务非常大型或者已对表定义大量RID索引的情况下,使用这种转出方法可以非常快速地执行删除。整体清除操作的速度也有所提高,这是因为,执行延迟索引清除时将以并行方式清除索引,而执行立即索引清除时将逐行清除索引中的每一行。并且,DELETE语句的事务日志空间需求显著降低,这是因为,索引按索引页而不是按索引键来更新异步索引清除日志。注:延迟清除转出操作需要更多内存资源,这些内存资源将从数据库堆中获取。如果数据库管理器无法分配它所需的内存结构,那么延迟清除转出操作将失败,并将一条消息写入管理通知日志。何时使用延迟清除转出方法如果删除性能对于您而言是最重要的因素,并且已对表定义RID索引,那么应使用延迟清除转出方法。注意,在进行索引清除之前,对已转出的块进行基于索引的扫描会稍微降低性能,这取决于已转出的数据量。在决定执行立即索引清除操作和延迟索引清除操作时,还应该考虑下列问题:删除操作的规模对于非常大型的删除任务,请选择延迟清除转出方法。在对许多小型MDC表频繁发出维DELETE语句的情况下,异步清除索引对象所产生的开销要比删除操作期间节省的时间的价值更高。•索引的数目和类型如果表包含大量RID索引,并且需要对这些索引执行行级别处理,那么应使用延迟清除转出方法。•块可用性如果您希望由删除操作释放的块空间在DELETE语句落实后立即可用,那么请使用立即清除转出方法。•日志空间如果日志空间有限,那么应对大型删除任务使用延迟清除转出方法。•内存约束对于所有已暂挂延迟清除操作的表,延迟清除转出操作将耗用更多的数据库堆空间。要在删除期间禁止转出行为,请将DB2_MDC_ROLLOUT注册表变量设为OFF,或者对SETCURRENTMDCROLLOUTMODE语句指定NONE。注:在DB2®V9.7及更高版本的发行版中,不支持对具有分区RID索引的数据分区MDC表执行延迟清除转出。仅支持NONE和IMMEDIATE方式。如果DB2_MDC_ROLLOUT注册表变量设为DEFE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论