DB에 자료가 너무 많아서 OutofMemoryError가 납니다...
가이
2023.04.01
select를 하면 가져와야할 건수가 대략 30만건 정도 되는데요....
그걸 계속 가지고 다른 자료를 조회하고, 삽입을 합니다.
그런데 이게 자꾸 OutofMemoryError가 나서
실행 할 때 인위적으로
java -Xmx2048m -verbosegc 클래스명
이렇게 해주는데요...
이래도 계속 OutofMemoryError가 나네요....
PrepareStatement를 사용하구요,
저 개체는 처음 실행시에만 객체를 만들게 해놓고 static으로 선언해 놓았습니다.
DB에 테이블에 내용이 바뀔수도 있는 거라 nownum으로 잘라서 조회도 힘들거 같구요....
30만건 정도 되는 데이터에서 앞에서 사용한 데이터만 일단 메모리에서 지워버리는 방법은 없을까요?
-
조으다
LinkedHashMap 을 쓰면 테이블 내의 데이터를 일정수로 유지할 수 있습니다만.. 찾으시는 대답은 아닌것 같네요.