【发布时间】:2020-12-03 19:11:16
【问题描述】:
我正在探索物化视图以创建非规范化视图以避免连接多个表以提高读取性能。 API 将从物化视图中读取数据以向客户端提供数据。
我正在使用 amazon aurora postgres(版本 11)。
我在物化视图 (MV) 上使用唯一索引,以便我可以使用“同时刷新”选项。
但我注意到的是,当一个源表中只有一小部分行得到更新并且我尝试刷新视图时,它的速度非常慢。实际上比第一次填充视图要慢。例如:第一次填充 MV 大约需要 30 分钟,刷新需要一个多小时。不到 1% 的行已更新。生成 MV 所涉及的主要三个表有大约 1800 万、2700 万和 4000 万行。
物化视图刷新的及时性很重要,这样数据不会过时太久。
我可以使用自定义表来存储非规范化数据而不是物化视图,但必须实现逻辑来刷新数据。所以计划尽可能避免这种情况。
有什么办法可以加快物化视图的刷新过程?
如果您需要更多详细信息,请告诉我。
谢谢 基兰
【问题讨论】: