创建物化视图比创建表慢得多

时间:2012-02-15 19:56:46

标签: oracle materialized-views

我有一个查询,我想用它来支持物化视图。

当我使用此语法从视图创建常规表时,它会非常快速地执行(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;

我已经尽可能地优化了视图查询。直接从视图中选择是快速的,并且从视图中创建任意数量的表。只有在我通过创建物化视图传递它之后。

任何可能导致经济放缓的想法?我可以做什么(提示等)来帮助它在创建物化视图时更快地执行?

2 个答案:

答案 0 :(得分:0)

很抱歉,我没有答案。我也遇到过这个问题,无法解释。在我的情况下,我只是将MV作为一个表格实现,每个人都很高兴。

答案 1 :(得分:0)

我认为差异(和问题)可能是刷新删除并插入。 create table仅执行select-insert。但刷新会删除 - 选择插入。

尝试使用truncate。不知道sintax的心,可以在docs中找到。