我在postgresql-9.5表中有200多万条记录。几乎所有查询都是分析查询。到目前为止,为了增加和优化查询性能,我正在尝试使用Indexing,而且似乎还不够。我需要查看的其他选项是什么?
答案 0 :(得分:3)
取决于where子句条件创建分区表(https://www.postgresql.org/docs/10/static/ddl-partitioning.html) ,如果where子句中的某些固定值对分区表进行部分索引,则会大大降低查询成本。 重要的一点是检查where子句中列的顺序,并在索引时匹配它
答案 1 :(得分:3)
您应该升级到PostgreSQL v10,以便您可以使用并行查询。
这使您能够并行运行多个后台工作程序的顺序和索引扫描,这可以加快大型表上的这些操作。
良好的数据库布局,良好的索引,大量RAM和快速存储也是分析查询良好性能的重要因素。
答案 2 :(得分:0)
如果分析涉及大量聚合,请考虑物化视图来存储聚合。物化视图确实占用空间,它们也需要刷新。但它们对数据聚合非常有用。