WEB开发网
开发学院数据库DB2 用 DB2 说明工具深入理解物化查询表(MQT)刷新机... 阅读

用 DB2 说明工具深入理解物化查询表(MQT)刷新机制

 2010-05-13 00:00:00 来源:WEB开发网   
核心提示:物化查询表(MQT)是以一次查询的结果为基础定义的表,可以显著提高查询的性能尤其是提高复杂查询的性能,用 DB2 说明工具深入理解物化查询表(MQT)刷新机制,在数据仓库等大型系统中有着广泛的应用,要使 MQT 正常工作必须对其进行刷新,而是等到用户(DBA)阶段性的执行刷新命令时才进行刷新,这种方式适合用在绝大部分时

物化查询表(MQT)是以一次查询的结果为基础定义的表,可以显著提高查询的性能尤其是提高复杂查询的性能,在数据仓库等大型系统中有着广泛的应用。要使 MQT 正常工作必须对其进行刷新,刷新的方式有多种,每一种方式其内部机制也各不相同,相应的其性能也有差别。

在本文中,我们将利用 DB2 说明(explain)工具获取 MQT 刷新时相应的访问方案(access plan),通过分析访问方案来理解刷新机制,从而使读者能够在实际应用中合理的选择刷新方式,更大程度的发挥 MQT 在性能提高方面的优势。

开始之前

在开始讨论之前如果有需要可以复习一下物化查询表的基本概念,可以参考这篇文章《 DB2 基础 : 物化查询表简介》,或者在 DB2 9.7 信息中心上查找相关主题。

DB2 提供多种方式使用说明工具,如 Visual Explain,EXPLAIN 命令 , db2expln 工具等,在本文中我们将使用的是设置 CURRENT EXPLAIN MODE 然后用 db2exfmt 命令来格式化说明表的内容来获取访问方案。

MQT 刷新方式

MQT 可以分为两种类型,一种是系统维护的 MQT,一种是用户维护的 MQT,其中前者有着广泛的应用,因此在本文只讨论系统维护的 MQT。

对于系统维护的 MQT 的刷新方式,根据刷新时间的不同可以分为两种,一种是 REFRESH IMMEDIATE 也就是即时刷新,一种是 REFRESH DEFERRED 也就是延迟刷新。

使用即时刷新的方式,当对基表进行任何 insert/update/delete 等操作时,MQT 中的数据也自动的进行相应的刷新,其优点是能保证 MQT 中的数据总是最新的,但是由于对基表进行操作的同时还需要维护 MQT,负载有所增加。

使用延迟刷新的方式,当对基表进行任何 insert/update/delete 等操作时,MQT 中的数据没有进行相应的刷新,而是等到用户(DBA)阶段性的执行刷新命令时才进行刷新。这种方式适合用在绝大部分时间都是只读的应用系统中,或者数据的更新只发生维护窗口时间。

1 2 3 4 5 6  下一页

Tags:DB 说明 工具

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接