Postgresql 遇到超时问题。这是查询,我得到的超时时间是:
我收到此超时错误: 消息:SQLSTATE[57014]:查询已取消:7错误:由于语句超时而取消语句 这是正在超时的查询: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
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