让我们假设我有一个这样的物化视图:
create materialized view my_mat_view as
select *
from tb1
join tb2
on tb1.id = tb2.f_id and
tb1.col1 = tb2.col2
现在,如果tb2
对tb1
有或没有外键约束,那么从my_mat_view
进行不同查询时,速度是否有差异?我相信物化视图不像视图,因此,当我刷新它时,它只会执行底层查询构造,对吗?但是当我从中选择时呢?我也可以在属于tb2
的列上为my_mat_view
创建索引,这些列应该是外键,这会有同样的效果吗?
总之,我想知道,如果建立一个关系,两个表之间的一个垫视图派生可以增加速度查询时间为垫视图?
1条答案
按热度按时间2cmtqfgy1#
物化视图本质上是一个不能直接更新的表,它有一个用于刷新其内容的关联查询;因此,从实体化视图中进行选择不会受到构建实体化视图的表上存在的约束或索引的影响。可以在实体化视图上创建索引以提高查询性能。