Postgres查询性能 - 类似查询的不同性能

时间:2018-01-17 16:26:51

标签: sql database postgresql postgresql-performance

为什么最近添加的记录似乎比旧记录更快检索?

我有一个postgres表,每天以大约200万行的速度添加。它包含一个名为'fixTime'的索引列,类型为'timestamp',它记录了记录添加到数据库的时刻。

我注意到在过去2-3天内添加的一组记录(在“fixTime”上过滤)似乎需要几秒钟,但从6个月前检索一组类似的记录可能需要3个4分钟。为什么差异很大,我能做些什么可以获得与旧记录相似的性能?

一些背景信息...... ..

  • 版本是“x86_64-pc-mingw64上的PostgreSQL 9.5.7,由...编译 gcc.exe(Rev5,由MSYS2项目构建)4.9.2,64位“
  • 记录在一天中大致均匀分布(每秒增加约20条新记录)
  • 我的选择查询除了相同 在指定的时间段内。快速(近期)和慢速(旧) 查询返回相似数量的记录(通常是几个 百)
  • 我在创建数据库时接受了所有默认值 - 所以 分析和VACUUM应该开启(不明白他们做了什么,但我 聚集他们很重要!)
  • 我已尝试解释(但不理解结果)我注意到查询计划因添加数据的时间而有所不同。

我原以为所有数据都是“相等的”,并且无论何时/如何添加数据,返回数据的速度都应该(大部分)相同。关于问题可能是什么以及如何诊断它的任何想法?

0 个答案:

没有答案