Postgresql 遇到超时问题。这是查询,我得到的超时时间是:

Postgresql 遇到超时问题。这是查询,我得到的超时时间是:,postgresql,timeout,Postgresql,Timeout,我收到此超时错误: 消息:SQLSTATE[57014]:查询已取消:7错误:由于语句超时而取消语句 这是正在超时的查询: SELECT log.id, integration.id AS intid, log.integration_id AS integration_id, integration.name, log.createddate FROM integration log LEFT JOIN integration__sf integ

我收到此超时错误:

消息:SQLSTATE[57014]:查询已取消:7错误:由于语句超时而取消语句

这是正在超时的查询:

SELECT
    log.id,
    integration.id AS intid,
    log.integration_id AS integration_id,
    integration.name,
    log.createddate
FROM integration log
    LEFT JOIN integration__sf integration on (  integration.id = log.integration_id)                        
    LEFT JOIN property prop on ( log.property_id = prop.id )
    LEFT JOIN account acc on ( acc.sfid = integration.account )
WHERE
    log.id IS NOT NULL
    AND log.script_type = 'Pull'
    AND log.script_name = 'ModifyTags' 
    AND log.createddate >= '2018-11-01 00:00:00' 
    AND log.createddate <= '2018-11-30 23:59:59'
ORDER BY log.id desc  LIMIT 100 OFFSET 0;
实际上,我已经得到了优化解决方案,这里的查询是这样的

SELECT
    log.id,
    integration.id AS intid,
    log.integration_id AS integration_id,
    integration.name,
    log.createddate
FROM integration log
    LEFT JOIN integration__sf integration on (  integration.id = log.integration_id)                        
    LEFT JOIN property prop on ( log.property_id = prop.id )
    LEFT JOIN account acc on ( acc.sfid = integration.account AND prop.account = acc.sfid AND prop.group_membership = integration.grouping)
WHERE log.id IS NOT NULL
    AND log.script_type = 'Pull'
    AND log.script_name = 'ModifyTags' 
    AND log.createddate >= '2018-11-01 00:00:00' 
    AND log.createddate <= '2018-11-30 23:59:59'
ORDER BY log.id desc  LIMIT 100 OFFSET 0
选择
log.id,
integration.id作为intid,
log.integration\u id作为integration\u id,
integration.name,
log.createddate
从集成日志
左连接集成\uuu sf集成打开(integration.id=log.integration\u id)
左连接属性道具打开(log.property\u id=prop.id)
左加入帐户acc on(acc.sfid=integration.account和prop.account=acc.sfid和prop.group_成员资格=integration.grouping)
其中log.id不为NULL
和log.script_type='Pull'
和log.script_name='ModifyTags'
和log.createddate>=“2018-11-01 00:00:00”

还有log.createddate,我肯定有。您能否编辑问题并为查询添加
EXPLAIN(ANALYZE,BUFFERS)
输出。。。从integration log LEFT JOIN integration\uuu sf integration…
IMHO使用与表名同名的别名是一个非常糟糕的主意。
SELECT
    log.id,
    integration.id AS intid,
    log.integration_id AS integration_id,
    integration.name,
    log.createddate
FROM integration log
    LEFT JOIN integration__sf integration on (  integration.id = log.integration_id)                        
    LEFT JOIN property prop on ( log.property_id = prop.id )
    LEFT JOIN account acc on ( acc.sfid = integration.account AND prop.account = acc.sfid AND prop.group_membership = integration.grouping)
WHERE log.id IS NOT NULL
    AND log.script_type = 'Pull'
    AND log.script_name = 'ModifyTags' 
    AND log.createddate >= '2018-11-01 00:00:00' 
    AND log.createddate <= '2018-11-30 23:59:59'
ORDER BY log.id desc  LIMIT 100 OFFSET 0