回答編集履歴

1

追記

2021/05/24 04:05

投稿

sazi
sazi

スコア25327

test CHANGED
@@ -15,3 +15,27 @@
15
15
 
16
16
 
17
17
  取り敢えずは、select文 に **limit**を付けて、状況を確認してみて下さい。
18
+
19
+
20
+
21
+ 追記
22
+
23
+ --
24
+
25
+ > fetchsizeを指定している場合でも元のDBの件数が増えた場合はメモリ使用量は増えるものなのでしょうか?
26
+
27
+
28
+
29
+ 該当しているかどうかは分かりませんが、以下参考
30
+
31
+ [JDBC setFetchSize() ではまった話](https://www.techscore.com/blog/2019/02/27/jdbc-setfetchsize-%E3%81%A7%E3%81%AF%E3%81%BE%E3%81%A3%E3%81%9F%E8%A9%B1/)
32
+
33
+
34
+
35
+ > PostgreSQLの場合、setFetchSize() を使用することで暗黙的にカーソルが作成され、ResultSet#next()時に適宜、作成したカーソルを使用してデータがロードされます。
36
+
37
+ >
38
+
39
+ > ただし、トランザクション内でのみ上記挙動となります。トランザクション外の場合、とくにエラーなどなくクエリが実行されますが、全件ロードされてしまいます。
40
+
41
+ > 件数、搭載メモリ量によってOutOfMemoryErrorとなる可能性があります。