0

我有一个程序,它发出 SQL 查询以返回长的对象列表,我想让 GUI 响应并以块的形式接收部分 SQL 结果,这样就可以在查询中的一些数据到达时立即更新 GUI。

有什么办法吗?现在,在查询返回整个结果集之前,GUI 什么都不显示,因此 SwingWorker 的 publish() 方法不是很有用。

4

1 回答 1

0

您应该限制 SQL 查询。例如,在 MySQL 中,您可以添加 LIMIT 10,20 以仅检索部分选择结果

[LIMIT [offset,] rows | rows OFFSET offset]

更新您可以将计数添加到同一查询并获取第一行中的计数以避免额外的数据库调用

select * from (select count(*) as count, 0 as id from users
               union all
               select 0 as count, id from users limit 0,10) full
ORDER BY count desc
limit 0,11;
于 2013-07-25T08:19:46.667 回答