【问题标题】:After table Partition Select query performance get slow表分区选择后查询性能变慢
【发布时间】:2015-01-06 13:06:21
【问题描述】:

我正在使用Postgresql 9.1,并且我有一个包含 36 列和近 10 cr 的表。 50 缺少 date time stamp 的记录 在这张表上,我们有一个复合 primary key (DEVICE ID TEXT AND DT_DATETIME timestamp without time zone) 现在要获得查询性能,我们有基于DT_DATETIME 字段的partitiontable day wise。现在在partition 之后,我看到query 数据检索时间比unpartition 表花费的时间更多。我在config 文件中有on 名为constraint_exclusion 的参数。

请提供相同的解决方案。

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

【问题讨论】:

  • 分区通常不会提高查询性能,但会降低它。分区是为其他事情进行的,例如轮换数据。
  • 我没有给你@usr你能不能给我发一些同样的链接。
  • 你到底有什么不明白的?大多数情况下,分区会使查询变慢。这不是一个性能特性,所以不要期望性能提升。
  • 所以会给我一些想法关于上述情况如何使我的查询检索更快。因为我看到可能有人推荐分区来提高查询性能。赞slideshare.net/Sperasoft/…这个
  • 这是什么意思“几乎 10 cr. 50 缺少带有日期时间戳的记录”?而且我认为您的主键组合不是一个愉快的搜索解决方案。

标签: performance postgresql select partitioning


【解决方案1】:

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

【讨论】:

  • -1:这与 OP 的问题有什么可能的关联?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-18
  • 1970-01-01
  • 1970-01-01
  • 2021-09-26
  • 2012-09-24
  • 1970-01-01
  • 2019-05-21
相关资源
最近更新 更多