Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在左侧联接表上快速刷新需要这么多时间_Sql_Oracle_Materialized Views - Fatal编程技术网

Sql 在左侧联接表上快速刷新需要这么多时间

Sql 在左侧联接表上快速刷新需要这么多时间,sql,oracle,materialized-views,Sql,Oracle,Materialized Views,有一个物化视图: create materialized view mat_report refresh fast on commit as select o.rowid as post_rowid, o.id, vp.rowid as valid_post_rowid, ivp.rowid as invalid_post_rowid from post o, valid_post vp, invalid

有一个物化视图:

create materialized view mat_report
refresh fast on commit
as
    select 
         o.rowid as post_rowid,
         o.id,
         vp.rowid as valid_post_rowid,
         ivp.rowid as invalid_post_rowid
     from post o, valid_post vp, invalid_post ivp
    where o.code like (vp.code || '%')
      and o.code not like (ivp.code || '%')
      and vp.user_id = ivp.user_id(+)
以及用于检测其变化的日志,如下所示:

create materialized view log on post  with rowid;

create materialized view log on valid_post with rowid;

create materialized view log on invalid_post with rowid;
如您所见,
post
表具有与
valid\u post
invalid\u post
的内部联接,
valid\u post
invalid\u post
的左联接

将记录插入
valid\u post
时,刷新物化视图的速度很快,耗时不到3秒,但将记录插入
invalid\u post
时,速度很慢,耗时超过4分钟。

哪里不对?我该怎么办


注意:值得一提的是,我发现一些网站关注的是
\u mv\u refresh\u use\u stats
,但不幸的是,我无法完全了解

当您将一行插入外部联接表时,您认为Oracle需要做什么工作?与插入到另一个表的操作相比?想想在每种情况下,有多少数据需要重新评估。你是什么意思,你能详细解释一下吗?@Alex Poole当我在无效表中插入一条记录时,相关的帖子及其子项没有显示出来。没有解决方案吗?有可能吗。请帮帮我,请不要。