问题描述
定义/使用查询超时(在Java属性中,它称为socketTimeout)时,获取大小(通过游标的结果流)如何工作。 要从文档(jdbc postgresql docs)定义socketTimeout:
用于套接字读取操作的超时值。如果从 服务器花费的时间超过此值,则连接已关闭。这个 既可以用作蛮力全局查询超时,又可以用作 检测网络问题。超时以秒为单位, 值为零表示已禁用。
让我们举几个例子:
- 套接字超时为1秒。假设我的查询将两次进入数据库以获取数据。第一次提取的时间为0.9s,第二次查询的时间为0.2s,总和为1.1s,是否会因为超时而取消查询?
- 套接字超时为1秒。查询的第一个结果批次长为0.9s,然后我们在Java应用程序端处理该批次的时间超过0.1s。在获取第二批产品之前,查询是否会被取消?
我的猜测是,在这两种情况下,都不会违反查询,因为每个人的阅读时间均不超过1s,但是我希望有人确认。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)