[英]Oracle 11g Materialized View hangs
我正在尝试使用预先构建的视图在Oracle中创建实例化视图。
create materialized view bfb_rpt_sch01.mvw_base_sales
as select * from bfb_rpt_sch01.vw_base_sales;
该命令将不会执行并挂起。 我认为这可能与未正确编写视图有关。 因此,我在视图上执行了以下查询。
select count(*) from bfb_rpt_sch01.vw_base_sales
该查询执行大约需要6分钟,并返回270万。 这告诉我观点不是问题,但我可能是错的。
我设法弄清楚了我的问题。 与我的(创建表AS)相比,我的(创建材料视图AS)使用的解释不同。 如果我的代码包含以下代码行,则可以像(CREATE TABLE AS)一样正常运行,但是在使用(CREATE MATERIALIZED VIEW AS)失败之前,它将继续挂起48小时以上。
WHERE a.column_name NOT IN (SELECT b.column_name FROM B) --culprit
我使用以下代码更改了代码,现在可以正常工作了。
WHERE NOT EXISTS (SELECT NULL FROM B WHERE a.column_name = b.column_name) --works
我不确定为什么会发生这种情况,也许是错误? 我对ORACLE的电话还不够。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.