目前我的 SQL resultSet 带来了大约 250K 记录,需要处理。完成该过程需要 25 秒。我打算对它进行多线程处理。但无法从 ResultSet 中拆分数据。谷歌搜索时它说 CachedRowSet,但没有适当的例子来实现它。请有人帮我解决这个问题。提前致谢。
问问题
1328 次
1 回答
0
您可以通过连接更多表来编写查询,也可以尝试使用这两个关键词
FETCH and OFFSET.
For 1st Ex : fetch = 1, offset = 1000
For 2nd Ex : fetch = 1001, offset = 1000
请检查此链接 https://technet.microsoft.com/en-us/library/gg699618(v=sql.110).aspx
通过从数据库中获取一组又一组您可以使用分页概念 它在任何情况下都不会影响 UI。
在 Oracle 的情况下:您可以通过指定 OFFSET 在 12c 上轻松完成。
在 12c 中,
SELECT val FROM table ORDER BY val OFFSET 4 ROWS FETCH NEXT 4 ROWS ONLY;
要在 11g 和之前的版本上做同样的事情,你需要使用 ROWNUM 两次,分别是内部查询和外部查询。
11g中的同样查询,
SELECT val FROM (SELECT val, rownum AS rnum FROM (SELECT val FROM table ORDER BY val) WHERE rownum <= 8) WHERE rnum > 4;
这里的偏移量是 4。
于 2016-06-01T18:17:16.950 回答