繁体   English   中英

PostgreSQL查询非常慢

[英]PostgreSQL query extremely slow

我在PostgreSQL数据库中有一个表: temp有4列

(
    id int, 
    campaign character varying, 
    sender character varying, 
    date_s date
) 

已经有大约900万条记录。 目前没有索引。

问题是当我尝试执行以下操作时:

SELECT COUNT(*) 
FROM temp 
WHERE 
    id = $idmail and 
    campaign = '$variable_campaign' AND 
    date > '$date_c' "

在100K循环中。

查询没有响应。 (我在PHP中设置了一个无限制的set_time_limit,否则在5分钟内会出现500错误)

实际上,所有这些查询的目的都是为了获取相关活动在当前一周内未发送到的邮件列表。

请问您有什么想法,因为我真的不知道该怎么做!

如果查询无法执行,我可以做一种临时文件,但我更喜欢处理数据库,这更干净!

假设有一个具有id主键的mails表:

select id    
from
    temp t
    right join
    mails m using(id)
where 
    t.campaign = '$variable_campaign' and
    t.date > '$date_c' and
    t.id is null

它将返回所有未发送的邮件ID。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM