表分区后选择查询性能变慢

时间:2014-11-10 09:13:37

标签: performance postgresql select partitioning

我正在使用Postgresql 9.1,我有一个由36列和近10 cr组成的表。 50缺少date time stamp的记录。在此表中,我们有一个复合primary key (DEVICE ID TEXT AND DT_DATETIME timestamp without time zone) 现在,为了获得查询效果,我们partition table day wise基于DT_DATETIME Fild。现在partition之后我发现query数据检索时间比unpartition表更多。我在on文件中有constraint_exclusion config参数。

请为此提供任何解决方案。

让我解释得更远 我在40 GB的表格中有45天的GPS数据。每秒我们插入最少27条新记录(每天250万条记录)。为了使桌子大小稳定45天,我们每晚删除第45天的数据。现在由于锁定,这会在这个桌子上产生真空问题。如果我们有分区表,我们可以简单地删除第45天的子表。 因此,通过分区,我们希望提高查询性能以及解决锁定问题。我们已经尝试过pg_repack但是两次系统负载因子增加到21,我们不得不重新启动服务器。 我们是一个24x7系统,所以没有停机时间。

1 个答案:

答案 0 :(得分:-1)

尝试使用pg_bouncer进行连接管理和内存管理,或者增加服务器中的RAM ....