【发布时间】:2021-12-30 07:26:16
【问题描述】:
我正在创建一个脚本,该脚本从 i Series/AS400 服务器 (DB2) 获取大量数据,然后将其发送到 kafka 主题。但是查询花费了太多时间(2 到 3m)来返回结果,有时我会遇到超时错误。
所以,我想知道是否有办法让 SQL 查询在给定时间返回尽可能多的数据,并防止我收到 SQL 错误(如超时)?
例如:
SELECT id, user, email
FROM users
DURING 10s;
它会在 10 秒内选择尽可能多的用户然后停止,并返回结果?所以我可以继续同步获取数据并发送到 Kafka?
【问题讨论】:
-
简短回答:“不。”更长的答案:您正在使用什么 RDBMS,您想通过这样做解决什么问题?这感觉就像XY Problem。
-
你想达到什么目的?您不能在查询中指定时间。如果您需要 9 秒来建立连接怎么办?如果您想在 10 秒内停止尽可能多的行,那么您可以在客户端代码中实现这一点
-
你不能为所欲为。你想做什么?需要更多细节。表中有多少行,表是静态的还是不断写入的?我猜 id 是唯一的?