Postgresql数据库变得缓慢(选择)以百万记录

时间:2019-07-24 12:59:32

标签: postgresql query-performance

试图获取数百万条记录的数据时,PostgreSQL数据库变慢。我尝试过使用材料化视图,但是性能非常快,但是无法提供实时数据。

我也在使用聚合ex。总和,计数,按子句分组等等...

SELECT offer_id as off_id,
  COUNT(distinct ip) as hosts,
  COUNT(distinct click_id) as clicks 
FROM offer_affiliate_stats 
WHERE 
  created_dt >= '2019-06-01' 
AND 
  created_dt  <= '2019-06-30' 
GROUP BY off_id;

我尝试使用材料化视图

索引应用于ID,created_dt,click_id

我的输出应该是这样的:

off_id               | 79
hosts                | 4
clicks               | 4
offer_name           | "Testing Javelin"
offer_id             | 
total_conversions    | 
total_income         | 
optimised_count      | 
optimised_income     | 
approved_income      | 
approved_conversions | 
declined_income      | 
declined_conversions | 
total_payout         | 

实际上,即使不使用 distinct 关键字,它也可以正常工作,但是当我使用 distinct 时,它会花费很长时间。

1 个答案:

答案 0 :(得分:0)

您应该配置数据库吗?

您会看到以下链接:https://www.postgresql.org/docs/current/runtime-config-resource.html

特别是Single[Async]的默认值为4MB。您可以增加到100MB。

您将代码更改为:

work_mem