我有一个程序发出SQL查询以返回长对象列表,我想让GUI响应,并且以块的形式接收部分SQL结果可以在查询中的某些数据到达时立即更新GUI
有办法吗?现在GUI在查询返回整个Resultset之前没有显示任何内容,因此SwingWorker的publish()方法不是很有用。
答案 0 :(得分: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;