保险数据库

【挑战问题】DB2物化查询表(MQT)经验点滴 欢迎讨论!

MQT 物化查询表

序言

什么是物化查询表,作用是什么.

物化查询表(MQT)的定义是以一次查询的结果为基础的。MQT 可以显著提高查询的性能。

物化查询表可以显著提高查询的性能,尤其是提高复杂查询的性能。如果优化器确定查询或查询的一部分可以用一个 MQT 来解决,那么就会重写查询,以便利用 MQT。

但是我们在实际项目中要使用他, 为达到查询高效,和高性能和高稳定, 他以什么要的机制去刷新数据,和保证数据的高效性, 还有创建他有什么依赖和限制等等. 下面让我们一起来讨论

物化查询表简介

首先我们先介绍 物化查询表基本概念:

MQT

物化查询表(MQT)是一种以一次查询的结果为基础定义的表。包含在物化查询表中的数据来自定义物化查询表时所基于的一个或多个表。而 总结表(也称自动总结表,AST)对于 IBM? DB2? Universal Database?(UDB)for Linux、 UNIX? 和 Windows?(DB2 UDB)的用户来说应该感到比较熟悉,它们可以看作是特殊的 MQT。fullselect 是总结表定义的一部分,它包含一个 GROUP BY 子句,该子句总结 fullselect 中所引用表中的数据。


您可以将 MQT 看作一种物化的视图。视图和 MQT 都是基于一个查询来定义的。每当视图被引用时,视图所基于的查询便会运行。但是,MQT 实际上则是将查询结果保存为数据,您可以使用 MQT 中的这些数据,而不是使用底层表中的数据。


物化查询表可以显著提高查询的性能,尤其是提高复杂查询的性能。如果优化器确定查询或查询的一部分可以用一个 MQT 来解决,那么就会重写查询,以便利用 MQT。


MQT 可以在创建表时定义,或者定义为系统维护的 MQT,或者定义为用户维护的 MQT。下面的几个小节将介绍这两种类型的 MQT,另外再介绍总结表和 staging 表。后面的例子要求连接到 SAMPLE 数据库。如果您系统上还没有创建 SAMPLE 数据库,那么可以通过在命令行提示符下输入 db2sampl 命令来创建这个数据库。

参与25

24同行回答

wangzixuwangzixu系统工程师
真的是很好的文章,多谢楼主,学习了显示全部
真的是很好的文章,多谢楼主,学习了收起
IT分销/经销 · 2011-06-01
浏览1222
wangzhonnewwangzhonnew软件工程师IBM Canada Ltd.
转帖?看到有博客08年已经发表的~~~ 楼主当年自己写的?显示全部
转帖?看到有博客08年已经发表的~~~ 楼主当年自己写的?收起
IT分销/经销 · 2011-05-19
浏览1254
limin19821limin19821系统工程师乐酷天
不顶没天理!显示全部
不顶没天理!收起
IT分销/经销 · 2011-05-19
浏览1230
wangzixuwangzixu系统工程师
这位大哥写的真棒!佩服的很!显示全部
这位大哥写的真棒!佩服的很!收起
IT分销/经销 · 2011-05-18
浏览1215

    提问者

    weixiaom
    高级架构师泰康养老保险股份有限公司
    擅长领域: 数据库云计算信创

    相关问题

    相关资料

    相关文章

    问题状态

  • 发布时间:2011-05-18
  • 关注会员:1 人
  • 问题浏览:13507
  • 最近回答:2011-09-07
  • X社区推广