NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 数据库 .: MQT 的使用

MQT 的使用

对于数据库管理员而言,数据库应用程序的性能是一项最为重要的因素。显著缩短决策支持查询响应时间的一种方法是使用物化查询表 (MQT)。

在本期文章中,我将讨论 MQT 的概念并演示如何创建和填充系统维护和用户维护的 MQT。我还将分析一些能从 MQT 中受益的场景。

什么是 MQT ?

MQT 的定义依查询结果而定。可以认为 MQT 是一种物化视图,因为 MQT 的数据来自一个或多个基本表。其差异在于如何生成和存储 MQT 数据。通常,视图的数据是每次在引用视图时通过对其所依托的主体执行查询而生成的;数据位于视图所引用的底层基本表中。MQT 数据是定期(由您控制)或在指定时间点通过对 MQT 所依托的主体执行查询而生成的;数据位于 MQT 内部。与任何其他表相类似,MQT 可以有索引,并且 RUNSTATS 实用工具可以用于生成和存储关于 MQT 的统计数据。

MQT 提供了一种强大的方式来改善复杂查询的响应速度,特别是执行以下一个或多个操作的查询:

  • 在一个或多个维度度上聚合数据
  • 结合或聚合一组表
  • 执行重复计算
  • 执行资源密集型扫描
  • 访问数据的公共子集 —— 也就是说,从 “热” 垂直或水平数据库分区检索数据
  • 在分区的数据库环境中从表或表的一部分检索数据

何时创建 MQT

应该如何确定 MQT 是否能提供价值?或者应该创建什么样的 MQT ? IBM DB2 Design Advisor 可以为您解答这些问题。使用您所提供的最新的数据库统计数据、DB2 优化器、快照监控信息和 / 或具体的查询或一组 SQL 语句(称作工作负载),Design Advisor 可以就为您推荐可改善性能的索引、MQT 或集群(MDC)表。索引、MQT 或 MDC 表;从中获取的统计信息;以及创建它们所需的 Data Definition Language (DDL) 语句都可以写入到用户创建的 ADVISE_INDEX 表中。

注意:MQT 对应用程序是完全透明的。MQT 的相关信息已经被整合进 DB2 SQL 编译器中,它们会判断是否 MQT 应该被用来响应一个完整查询或者查询的一部分。因此,用户可以在不改变应用程序代码的情况下,创建和删除 MQTs,就和创建和删除索引而不需要更改应用程序一样。


这篇文章对你多有用?

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited