db2 有没有一种方法可以使SQL查询在给定的时间内返回尽可能多的数据?

wnrlj8wa  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(131)

我正在创建一个脚本,该脚本从i Series/AS 400服务器(DB2)获取大量数据,然后将其发送到kafka topics。但是查询花费了太多时间(2到3分钟)来返回结果,有时我会收到超时错误。
因此,我想知道是否有一种方法可以使SQL查询在给定时间内返回尽可能多的数据,并防止我得到像超时这样的SQL错误?
例如:

SELECT id, user, email 
FROM users 
DURING 10s;

它会在10秒内选择尽可能多的用户,然后停止,并返回结果?这样我就可以继续同步获取数据并发送给Kafka了?

idfiyjo8

idfiyjo81#

您可以使用较小的页面大小(1 k-10 k数据列?)来实作分页。若要取得理想的结果,您的查询必须符合三个条件:
1.查询必须是可流水线的。
1.查询应包含ORDER BY子句。

  1. ORDER BY子句应使用UNIQUE键来实现 * 键集分页 *。
    现在,条件#2和#3对于正确的结果是必需的(在页面之间没有丢失/重复的行)。如果您查询不满足它,那么每个分页调用都将是昂贵的,且可能超时。

相关问题