[問題] LIMIT和ResultSet的問題 (Oracle DB)
因為 OracleDB 沒有 LIMIT OFFSET 之類的用法,
假設我們要取第100000筆之後的300筆資料,
目前有看到有看到幾種模擬 LIMIT的方法,像是:
1. 子查詢先用 ROWNUM 將每筆編號直到100300號
然後父查詢再取出編號大於100000的
2. 第一次查詢用 ROWNUM 限制100300筆
第二次查詢用 ROWNUM 限制100000筆
將兩次查詢結果相減(MINUS)
之類的解法,
(因為 DB 用 ORDER BY 會非常慢,類似解法省略)
看起來好像都沒有顯著差異,時間看起來沒比較快
我在想直接 executeQuery(sql)
將返回的 ResultSet rs.next() 重複100000次
然後取後面的300筆資料,這樣是不是可以接受?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.45.91
※ 文章網址: https://www.ptt.cc/bbs/java/M.1502362544.A.4D6.html
※ zelkova:轉錄至看板 Database 08/10 18:56
推
08/11 20:49, , 1F
08/11 20:49, 1F
→
08/11 22:00, , 2F
08/11 22:00, 2F
→
08/11 22:00, , 3F
08/11 22:00, 3F
→
08/12 10:37, , 4F
08/12 10:37, 4F
推
08/15 00:12, , 5F
08/15 00:12, 5F
→
09/11 19:20, , 6F
09/11 19:20, 6F
→
09/11 19:20, , 7F
09/11 19:20, 7F
java 近期熱門文章
PTT數位生活區 即時熱門文章