2014-07-25 2 views
1

내 코드가 메모리 부족 오류를 초래하는 엄청난 양의 레코드를 가져옵니다. 내가 검색하고 그 데이터를 처리하고, 메모리를 청소하고, 나머지를 다시 검색하고 싶은 것을 나눌 방법을 찾고있다.데이터베이스 전체에서 레코드를 검색하는 방법이 있습니까?

나는 Rownum을 사용할 수 있었지만 다음 검색에서는, 검색되지 않은 나머지 레코드 만 고려합니다.

아무도 도와 줄 수 있습니까? 사전에

덕분에 샘

+0

당신은 마지막 행을 검색 할 논리를 사용해야하므로 다음 검색을 위해 그 rownum을 사용하고 다음 레코드 집합을 얻을 것입니다 – coreJavare

+0

당신은 최대 절전 모드 나 jdbc를 사용하고 있습니까? –

+0

SQL 문을 직접 실행하는 경우 rownum을 사용하여 편집 할 항목 블록을 결정할 수 있습니다. 안전한 쪽을 원한다면 ORDER 문을 사용하여 결과를 주문하십시오. 기본 키를 사용하면 빨리 주문할 수 있습니다. – Korashen

답변

1

내가 검색하고 데이터가 메모리를 청소 다시 나머지를 검색 처리 할 것을 나눌 수있는 방법을 찾고 있어요.

당신은

ResultSet#setFetchSize()가이 ResultSet 오브젝트로보다 많은 행이 필요한 때에 데이타베이스로부터 꺼낼 필요가있는 행수에 대한 힌트를 JDBC 드라이버에 제공 할 수 있습니다.

여기에 tutorialspoint에 게시 된 Example입니다.

관련 문제