此请求引发了一个带有PostgreSQL的语句超时。
DELETE FROM my_table where my_table.id IN (
SELECT DISTINCT b.id
FROM my_table a
LEFT JOIN my_table b
on b.rowA = a.rowA and b.rowB = true
WHERE a.rowB = false
)
原因:org.postgresql.util.psqlexception:错误:由于在org.postgresql.core.v3.queryexecutorimpl.receiveerrorresponse(queryexecutorimpl.java:1525)在org.postgresql.core.v3.queryexecutorimpl.processresponse(queryexecutorimpl.java:1309)在org.postgresql.core.v3.queryexecutorimpl.executor(queryexecutorimpl.188)在
我将移除distinct和left join。
delete from my_table where my_table.id in (select b.id from tblA a, tblB b
where a.rowB = false and b.rowa = a.rowa and b.rowb = true);
问题的主要原因是左联接。为什么要在表a上使用左联接,并以表B的ID作为结果的基础?如果您使用表a的ID,那么这是否有意义。从表A的角度出发的左联接将返回表A中的所有ID,即使在表B中没有匹配项时也是如此。那不是你想要的,因为它可能是一个巨大的数据量。您需要表a和表B的子集。因此,您不应该在不使用左联接的情况下从它询问所有数据。Distinct还会产生性能问题。只有在它有附加值的时候才使用它。我看不出这里有什么附加值。
此请求使用postgresql抛出语句超时。 由于某些原因,我无法在postgresql上增加超时。所以,我需要改进我的要求。如何改进?也许是因为没有使用?怎么做? 谢谢你的帮助。 编辑更多信息: 我在JAVA批处理中,我收到的错误消息如下: 原因:org.postgresql.util。PSQLException:错误:由于在org.postgresql.core.v3.QueryExecuto
我的Postgres版本:“PostgreSQL 9.4.1,由Visual C++build 1800编译,32位” 我要处理的桌子;包含列 EventTime-Timestamp不带时区 SerialNumber-可变字符(32) sourceid-integer 和其他4列 下面是我的select语句
问题内容: 当表中的列不存在时,为什么此查询会删除所有用户? 初始查询 : 更具体。 IN语句查询返回 : 运行 初始查询 返回 为什么会这样呢? 它是否应该在发生错误时停止执行或返回false或null? 运行PostgreSQL Server 9.0 问题答案: 根据ANSI标准,此行为是正确的。 如果未限定的列名称未在内部作用域中解析,则将考虑外部作用域。因此,您有效地执行了无意关联的子查询
问题内容: 我正在使用节点/快速服务器。express的默认超时为120,000 ms,但这对我来说还不够。当我的响应达到120,000 ms时,控制台将记录日志,并且页面显示错误,因此我想将超时设置为更大的值。我该怎么办? 问题答案: 考虑到问题中的日志,我假设您正在使用。关键是在服务器上设置属性(以下将超时设置为一秒钟,使用您想要的任何值): 如果您不使用express,而仅使用普通节点,则原
我正在使用改造下载一些媒体文件,如视频,mp3,jpg,pdf。在我的应用程序中,当我想下载一个MP4格式的55MB的大文件时,Trere是一个问题。当我想下载这个文件时,我会遇到如下错误: 最后,这是我的createServiceFile方法: 如果你能帮助我,我真的很感激:)
问题内容: 在我的Web应用程序中,一些postgres sql查询需要一些时间才能执行。我只想为其中一部分设置语句超时。 查询的一部分必须通过超时取消,但是其他部分必须可以不受任何限制地工作。 在postgres中存在statement_timeout函数。 如何使用statement_timeout函数包装SqlAlchemy查询? 像这样: 对我来说,设置超时的最佳方法是这样的: SqlAl