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
EXPERTE
gefragt vor 5 Monaten45 Aufrufe
1 Antwort
0

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

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

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

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

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

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen