DB2物化视图(MQT)是一类特殊的视图,下面就为您详细介绍DB2物化视图,供您参考,希望对您学习DB2数据库能够有所帮助。
可以将MQT看作一种物化的视图。视图和MQT 都是基于一个查询来定义的。每当视图被引用时,视图所基于的查询便会运行。但是,MQT 实际上则是将查询结果保存为数据,可以使用 MQT 中的这些数据,而不是使用底层表中的数据。
物化查询表可以显著提高查询的性能,尤其是提高复杂查询的性能。如果优化器确定查询或查询的一部分可以用一个 MQT 来解决,那么就会重写查询,以便利用MQT。MQT可以在创建表时定义,或者定义为系统维护的MQT,或者定义为用户维护的 MQT。
当创建系统维护s的DB2物化视图时,可以指定表数据是 REFRESH IMMEDIATE 还是 REFRESH DEFERRED。通过 REFRESH 关键字可以指定如何维护数据。DEFERRED 的意思是,表中的数据可以在任何时候通过 REFRESH TABLE 语句来刷新。不管是 REFRESH DEFERRED 还是 REFRESH IMMEDIATE 类型的系统维护的 MQT,对它们的 insert、update 或 delete 操作都是不允许的。但是,对于 REFRESH IMMEDIATE 类型的系统维护的 MQT,可以通过 对底层表的更改(即 insert、update 或 delete 操作)来更新。
Example:
drop table CITM.PROD_SEG_MQT;
--==============================================================
-- View: PROD_SEG_MQT
--==============================================================
create table CITM.PROD_SEG_MQT as
( SELECT HW_REL.SECOSINSTID, HW_REL.HOST, HW_REL.DOMAINNAME, HW_REL.HOST|| '.' || HW_REL.DOMAINNAME as FQDN,
HW_REL.IP_ADDR, HW_REL.HWTYPE, HW_REL.HWSERIAL, HW_REL.SITE, ITSASREP.LOCATION, ITSASREP.OS,
ITSASREP.PR_INTRANETADDRESS, DEVCONTACT.DEV_IIP, HW_REL.SEGMENT_ID,
SEG.SEGMENT_NAME, HW_REL.PRODUCT_ID, PROD.PRODUCT_NAME, ITM.POINTS,
CASE when ITM.COHORT_CODE = 'Red' then FCT.COHORT_CODE_TITLE
when ITM.COHORT_CODE = 'Yellow' then FCT.COHORT_CODE_TITLE
when ITM.COHORT_CODE = 'Green' then FCT.COHORT_CODE_TITLE else 'Unknown' END AS RYGSTATE,
CASE WHEN NOINST.HW_REL IS NULL THEN 'NOT EXEMPT' ELSE 'EXEMPT' END as ITMEXEMPTFLAG
FROM CITM.HW_REL as HW_REL
LEFT JOIN CITM.ITSASREP as ITSASREP on HW_REL.SECOSINSTID=ITSASREP.SECOSINSTID
LEFT JOIN CITM.ITM_UTIL as ITM on ITM.SECOSINSTID=ITSASREP.SECOSINSTID
LEFT JOIN CITM.FEDDB_CODE_TITLES as FCT on FCT.COHORT_CODE=ITM.COHORT_CODE
LEFT JOIN CITM.CITM_DEV_CONTACT as DEVCONTACT on ITSASREP.SECOSINSTID=DEVCONTACT.SECOSINSTID
LEFT JOIN CITM.SEGMENT as SEG on HW_REL.SEGMENT_ID=SEG.SEGMENT_ID
LEFT JOIN CITM.PRODUCT as PROD on PROD.PRODUCT_ID=HW_REL.PRODUCT_ID
LEFT OUTER JOIN CITM.ITM_NOINST as NOINST on HW_REL.HWREL_ID=NOINST.HW_REL
WHERE LOWER(HW_REL.STATUS) = 'active' AND DEVCONTACT.DEV_IIP IS NOT NULL
)
data initially deferred refresh deferred;
refresh table CITM.PROD_SEG_MQT;
Reference:
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1005haoqy/
分享到:
相关推荐
-- 物化路径模型 -- 自顶到底的查询 SELECT a.materialized_path, a.commander, a.description FROM t_materialized_model AS a, t_materialized_model AS b WHERE a.materialized_path LIKE CONCAT(b....
DB2数据库查询工具是专为管理和操作IBM的DB2关系型数据库系统设计的高效能工具。这个工具使得数据库管理员和开发人员能够方便地对DB2中的数据进行查询、分析和管理,极大地提高了工作效率。在本篇文章中,我们将深入...
### DB2 查询锁的方法 在DB2数据库管理系统中,锁是一种重要的机制,用于管理多个用户对数据资源的同时访问,确保数据的一致性和准确性。当一个事务正在修改数据时,其他试图访问同一数据的事务可能会被阻止,直到...
在DB2 V10的学习文档中,我们将会学到数据库管理的各个方面,包括但不限于数据库的安装与配置、安全性管理、性能优化、备份与恢复、数据迁移、监控以及故障排除等。文档通常会提供详细的步骤,指导用户如何在不同的...
- 查询优化:理解DB2的查询优化器工作原理,学习编写高效的SQL语句。 - 性能监控:使用DB2监控工具分析系统负载、资源使用情况。 - 资源调优:调整内存参数、并发控制、索引设计等以提高性能。 7. **安全与权限...
通过这些学习资料,你可以系统地学习和掌握DB2的基础知识、SQL语法、存储过程设计、性能调优等核心技能,从而成为一名熟练的DB2数据库管理员或开发者。在实际工作中,不断实践和探索,结合这些理论知识,将使你对DB2...
DB2查询分析器是一款专为DB2数据库设计的强大工具,旨在优化和简化SQL查询的编写与执行过程。这款分析器提供了多种实用功能,以提升数据库管理员和开发人员的工作效率。 首先,DB2查询分析器的核心特性是其智能的...
### DB2学习记录 #### 一、并发机制与隔离级别 DB2的并发控制机制与Oracle存在显著区别。其中一个重要方面体现在默认隔离级别上。Oracle的默认隔离级别为快照(snapshot),这种设置使得写入事务不会阻塞读取事务,...
以上就是关于DB2学习的一些推荐书籍介绍。每本书都有其独特之处,可以根据个人的需求和兴趣选择合适的进行深入学习。希望这些建议能够帮助到正在学习或即将开始学习DB2数据库的朋友们,在数据库领域取得更大的进步和...
db2教程,学习指南,db2基础知识,db2入门知识汇总
这篇学习总结将深入探讨DB2的一些核心概念、功能以及在实际应用中的关键知识点。 1. 数据库概念与体系结构: - 数据库:DB2提供了一个安全、可靠的数据存储平台,允许用户组织和管理不同类型的数据。 - 体系结构...
综上所述,这个压缩包提供了全面的DB2学习资源,包括了DB2的基本操作、数据库管理、SQL编程、存储过程、性能优化和数据安全等多个关键领域。无论是对DB2有初步了解还是希望深入研究,这些文档都能提供宝贵的知识和...
这份"db2学习资料精选1"的压缩包提供了丰富的学习资源,帮助我们深入理解和掌握DB2的相关知识。 1. **DB2技术参考大全.pdf**:这本书籍可能是DB2的全面技术指南,涵盖了DB2的安装配置、日常管理、性能优化、备份...
本压缩包"DB2数据库学习资料.zip"提供了全面的DB2学习资源,包括文档、教程和安装指南,非常适合初学者和有经验的DBA(数据库管理员)深入理解和掌握DB2。 1. **DB2迁移方案.doc**:此文档可能详细阐述了如何将其他...
- `select * from sysibm.sysversions` 查询当前DB2的版本信息。 12. **表结构与修改**: - `describe table` 或 `describe select * from .` 查看表结构。 - 改变VARCHAR类型的列大小,只能增加不能减少,如`...
### DB2学习资料与常用命令解析 #### 一、DB2简介 DB2是IBM公司开发的一款关系型数据库管理系统(RDBMS),广泛应用于企业级数据处理。它支持SQL标准,并提供了一系列工具和功能来管理复杂的数据环境。对于DB2的学习...
Bufferpool是DB2数据库用于缓存数据页的一种内存结构,它能够存储数据页和索引页,以减少磁盘I/O操作,提高查询效率。每个Bufferpool都有一个特定的名称,并且可以被多个表空间共享。 #### 1.2 Bufferpool配置参数...
缓冲池是DB2用于存储数据页的内存区域,合理的缓冲池大小能够显著减少磁盘I/O操作,提高查询速度。DBA应该根据数据库的实际负载情况,动态调整缓冲池的大小,以达到最佳性能。 #### 锁策略(Locking Strategies) ...