带您了解DB2物化视图_DB2_数据库_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 数据库 > DB2 > 带您了解DB2物化视图

带您了解DB2物化视图

 2013/8/9 17:21:21    程序员俱乐部  我要评论(0)
  • 摘要:DB2物化视图(MQT)是一类特殊的视图,下面就为您详细介绍DB2物化视图,供您参考,希望对您学习DB2数据库能够有所帮助。可以将MQT看作一种物化的视图。视图和MQT都是基于一个查询来定义的。每当视图被引用时,视图所基于的查询便会运行。但是,MQT实际上则是将查询结果保存为数据,可以使用MQT中的这些数据,而不是使用底层表中的数据。物化查询表可以显著提高查询的性能,尤其是提高复杂查询的性能。如果优化器确定查询或查询的一部分可以用一个MQT来解决,那么就会重写查询,以便利用MQT
  • 标签:

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 操作)来更新。

    class="dp-xml">
  1. create table course_query as   
  2. (   
  3. select courseware_id, other_courseware_name from   
  4. (   
  5. select distinct courseware_id, other_courseware_name   
  6. from metadata   
  7. where other_courseware_name in   
  8. (   
  9. select distinct Other_courseware_name   
  10. from METADATA   
  11. where is_delete like '0'   
  12. )   
  13. )    
  14. )  
  15. data initially deferred refresh deferred;  
  16. refresh table course_query;  

  • 相关文章
发表评论
用户名: 匿名