我成功地用脚本创建了一个物化视图:
CREATE MATERIALIZED VIEW orderitem_mvmt
BUILD IMMEDIATE
REFRESH FAST
ON DEMAND
AS
select * from order_item;
试图提高性能我这样改变
CREATE MATERIALIZED VIEW orderitem_mvmt
BUILD IMMEDIATE
REFRESH FAST
ON DEMAND
AS
select * from order_item
where to_char(last_upd,'yyyy') between to_char(sysdate,'yyyy')-3 and to_char(sysdate,'yyyy')+3;
运行脚本引发错误ORA-12015:无法从复杂查询创建快速刷新具体化视图
我不明白它如何与快速刷新限制相匹配
谢谢。
查看快速刷新的一般限制
实例化视图的定义查询限制如下:
实例化视图不得包含对非重复表达式(如 SYSDATE 和 ROWNUM(的引用。
实例化视图不得包含对 RAW 或 LONG RAW 数据类型的引用。
它不能包含 SELECT 列表子查询。
它不能在 SELECT 子句中包含分析函数(例如,RANK(。
它不能包含 MODEL 子句。
它不能包含带有子查询的 HAVING 子句。
它不能包含具有"任何"、"全部"或"不存在"的嵌套查询。
它不能包含 [开头为 ...]连接依据子句。
它不能包含不同站点的多个详细信息表。
提交时实例化视图不能具有远程详细信息表。
嵌套实例化视图必须具有联接或聚合。
实例化联接视图和带有 GROUP BY 子句的实例化聚合视图不能从按索引组织的表中进行选择。
您的查询包含SYSDATE
因此您不能将其用于FAST REFRESH