我有一个查询,我想用它来支持物化视图。
当我使用此语法从视图创建常规表时,它会非常快速地执行(5秒):
create table my_table as select * from my_view;
但是,当我尝试从同一视图创建物化视图时,它的速度会慢很多(5分钟以上)。
create materialized view my_materialized_view refresh complete start with sysdate next trunc(sysdate, 'HH') + (1/24) AS select * from my_view;
我已经尽可能地优化了视图查询。直接从视图中选择是快速的,并且从视图中创建任意数量的表。只有在我通过创建物化视图传递它之后。
任何可能导致经济放缓的想法?我可以做什么(提示等)来帮助它在创建物化视图时更快地执行?
答案 0 :(得分:0)
很抱歉,我没有答案。我也遇到过这个问题,无法解释。在我的情况下,我只是将MV作为一个表格实现,每个人都很高兴。
答案 1 :(得分:0)
我认为差异(和问题)可能是刷新删除并插入。 create table仅执行select-insert。但刷新会删除 - 选择插入。
尝试使用truncate。不知道sintax的心,可以在docs中找到。