我在postgresql-9.5表中有数以百万计的200+记录。几乎所有的查询都是分析查询。到目前为止,为了提高和优化查询性能,我正在尝试索引,但似乎还不够。我需要研究的其他选择是什么?
发布于 2018-05-14 19:46:40
根据where子句条件create partitioned (https://www.postgresql.org/docs/10/static/ddl-partitioning.html),在where子句中存在一定固定值的情况下,对分区表进行部分索引,可以大大降低查询开销。要点检查where子句中列的顺序,并在索引时进行匹配
发布于 2018-05-14 19:58:30
您应该升级到PostgreSQL v10,以便可以使用并行查询。
这使您能够并行地使用多个后台工作进程运行顺序和索引扫描,这可以加快对大型表的这些操作。
良好的数据库布局、良好的索引、大量RAM和快速存储也是良好的分析查询性能的重要因素。
发布于 2018-06-16 16:55:35
如果分析涉及大量聚合,请考虑使用物化视图来存储聚合。实例化视图确实会占用空间,并且也需要刷新。但它们对于数据聚合非常有用。
https://stackoverflow.com/questions/50329440
复制相似问题