目前我的SQL resultSet带来了大约250K的记录,需要进行处理。完成该过程需要25秒。我打算对它进行多线程处理。但是无法从ResultSet中分割数据。当谷歌搜索它时说CachedRowSet,但没有适当的例子来实现它。请有人帮我解决这个问题。在此先感谢。
答案 0 :(得分: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
通过从数据库设置后获取set 您可以使用分页概念 在任何情况下都不会影响用户界面。
对于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;
这里OFFSET是4。