这可能已被多次询问,但到目前为止他们都没有帮助过我。
以下是历史记录:
我有一个查询可以获取大约一百万条记录。是的,我们需要立即获取所有用于缓存目的,遗憾的是无法改变设计。
现在,我们有2台主服务器和DR服务器。在DR服务器中,查询将在30秒内执行,因此没有超时问题。但是在主服务器中由于一些未知的原因正在暂停。有时它会在rs.next()
和pstmt.executeQuery()
中的某个时间超时。
所有数据库索引,连接池等都已到位。解释计划显示,也没有全表扫描。
我的分析:
由于此处不存在查询问题,因此网络延迟可能存在问题?
如何找到此超时背后的根本原因。如何确保没有连接泄漏? (因为所有连接都正确关闭)。
有什么方法可以从超时中恢复并再次使用增加的超时值执行查询,例如:pstmt.setQueryTimeOut(600)
? < - 注意,这没有任何效果。不知道为什么..!
感谢任何输入。
谢谢!