Redshift物化视图和数据表对比

0

【以下的问题经过翻译处理】 假设我有一个名为my_table的事实表。现在我创建了一个物化视图,没有任何过滤器或聚合,例如:

create materialized view public.my_mv diststyle key
distkey (distkey_column)
sortkey
(
      sort_key_column1,
      sort_key_column2 ...
) auto refresh yes
as 
select * from my_table

物化视图具有相同的分布键和排序键?是否使用物化视图而不是基表可以获得任何好处?

profile picture
전문가
질문됨 5달 전45회 조회
1개 답변
0

【以下的回答经过翻译处理】 在您提到的情况中,如果物化视图(MV)具有相同的分布键、排序键和没有额外的过滤器或聚合,那么使用MV而不是基表可能不会带来任何重大的好处。

物化视图在以下情况下非常有用:

  • 预计算复杂或耗时的聚合操作:由于MV存储了预计算结果,因此使用MV的查询速度更快。
  • 为特定的查询模式优化数据:您可以选择不同的分布键或排序键来优化MV,从而提高性能。
  • 减少基表上的负载:如果您有一个高并发系统,有很多查询,使用MV可以帮助分担基表的一部分负载,提高整体性能。

然而,在您的示例中,因为MV和基表具有相同的分布键、排序键以及没有额外的过滤器或聚合,MV基本上只是基表的一个冗余副本,查询基表或MV都会产生类似的性能。

在这种情况下,更有利的做法是直接使用基表,避免管理和刷新物化视图所带来的开销。

profile picture
전문가
답변함 5달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인