【问题标题】:Postgres - distinct query slow over 5 million dataPostgres - 不同的查询减慢超过 500 万个数据
【发布时间】:2020-06-08 11:22:29
【问题描述】:

我正在尝试对包含 500 万条数据的表进行选择,这大约需要 2 分钟。我的目的是将速度提高到几秒钟。

查询:- 从 t_fin_do where country_id='abc' 中选择不同的帐户类型


尝试了综合指数,成本刚涨

【问题讨论】:

  • 请不要将执行计划发布为图像。将其粘贴为formatted text 并确保保留计划的缩进。为此,请复制文本结果并粘贴文本,然后将``` 放在计划前一行和计划后一行。
  • 您使用的是哪个 Postgres 版本?我很惊讶这不是一个平行计划

标签: postgresql distinct


【解决方案1】:

您可以尝试为此查询创建部分和覆盖索引:

 create index on t_fin_do(country_id, accounttype) where country_id='abc';

根据country_id 的选择性,这可能比表序列扫描更快。

【讨论】:

  • 从原始计划“rows removed by filter: 3” - 查询必须遍历所有行
猜你喜欢
  • 2013-11-02
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-23
相关资源
最近更新 更多