如果含有group by 子句,在select和 group by子句中需要包含
分区键或分区标记(partition marker)或rowids,以支持PCT特性。
oracle内部会将rowids转换为分区标记(partition marker)。
以分区标记(partition marker)为例测试:
select /*+ REWRITE(PMARKER_MV) */ t2.name, sum(t1.value) from a_list t1,b t2
where t1.id=t2.id and t1.type='a'
group by t2.name ;
这句访问的是基表,按道理应该访问的是物化视图pmarker_mv,即进行查询重写为:
SELECT name, SUM(sum_val) FROM pmarker_mv where pmarker=51855 group by name;
以上是不成立的,因为物化视图pmarker_mv中没有type字段的信息,所以要回表(a_list)而不能实施查询重写。
从
物化视图解释信息,可以看出是可以进行查询重写的,可实际上没有,
为什么该查询没有实施查询重写,可以使用DBMS_MVIEW.EXPLAIN_REWRITE存储过程。
这里的问题是:先不说PCT,根本就没有重写。
参考:
http://docs.oracle.com/cd/B19306_01/server.102/b14223/qrbasic.htm
http://docs.oracle.com/cd/B19306_01/server.102/b14223/qradv.htm
分享到:
相关推荐
物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建物化视图创建
物化视图 (MV)在一个段中存储查询结果,并且能够在提交查询时将结果返回给用户,从而不再需要重新执行查询 — 在查询要执行几次时,这是一个很大的好处。物化视图可以利用一个快速刷新机制从基础表中全部或增量刷新...
Oracle物化视图应用详,有实例和各属性介绍
orace表分区及物化视图 进一步了解oracle表分区技术及物化视图技术应用
真正值得一看的mysql知识。MySQL中实现物化视图(中文版)翻译于外文。
Oracle中物化视图很重要,物化视图优秀论文. 在数据仓库中物化视图是非常重要的。Oracle中物化视图很重要,物化视图优秀论文. 在数据仓库中物化视图是非常重要的。Oracle中物化视图很重要,物化视图优秀论文. 在数据...
ORACLE9I物化视图
物化视图的两种实现,直接在物化视图中设置设计和通过定时任务触发存储过程来更新物化视图
物化视图学习笔记 错误问题分析总结 详细讲解了物化视图的内部构造,从零基础开始学习 重点说明ORA-12034的错误解决方案
物化视图普通视图区别.doc,很不错的资料
物化视图的快速刷新
Oracle物化视图创建和使用,设置物化视图的自动刷新时间
oralce创建物化视图,基本语法,基本操作
数据仓库,数据挖掘,物化视图 数据仓库,数据挖掘,物化视图 数据仓库,数据挖掘,物化视图
里面详细讲述物化视图的种种创建,物化日志的结构,group by 语句创建物化视图的处理
物化视图创建
Oracle怎么根据物化视图日志快速刷新物化视图
物化视图迁移分区,停机时间少于10分钟。
Oracle物化视图使用[文].pdf
PostgreSQL物化视图的刷新机制.pptx