我是使用Postgres的新手,我有一个关于物化视图的问题。我目前正在使用Postgres 9.6.0和PGAdmin 4。
我有一个由多个连接组成的查询,当它在PGAdmin中执行时,大约需要13秒。考虑到设置了正确的指数,这是事实。
下一种方法是使用物化视图。通过使用物化视图并设置适当的索引,我会假设运行查询会快得多,因为数据将被缓存/临时存储。但运行查询后,看起来仍需要13秒.....
除非我对物化视图的理解不正确,否则有人可以解释为什么执行物化视图只需运行查询。可能是PGAdmin造成了这个问题吗?或者Postgres中是否有一个设置可能需要设置数据才能在物化视图中持久存在?
任何建议表示赞赏。谢谢。
这是简单情况的预期行为。这意味着物化视图(对索引进行查询的结果)与从中派生索引的索引完全相同。如果你考虑一下,这很有意义。
物化视图不一定比第一次访问的基础查询具有更好的性能。组装数据的复杂性可能微不足道。使用索引的许多连接比一组复杂的标准要强得多,或者需要功能处理或排序的东西。
您在此实例中发现的是,基础查询与同一数据集的实例化视图一样好。您可能想要考虑这种情况的简单视图。