2011-08-19 3 views
1

itemreader, itemProcessor 및 itemWriter가 포함 된 스프링 배치 프로그램이 있습니다.큰 항목 목록을 처리하는 프로그램에서 데이터베이스를 효율적으로 쿼리하는 방법

내가 처리 할 10,000 개의 레코드가 있다고 가정 해보십시오. 각 항목에 대해 몇 가지 조건을 결정하고 데이터를 추가하기 위해 여러 데이터베이스 테이블에서 데이터를 가져 오려고합니다.

나는 이것이 처리 과정에서 이루어질 것이라고 믿는다.

질문 : 이것을 수행하는 데 가장 좋은 디자인은 무엇입니까? itemProcessor에 SimpleJdbcTemplate을 주입하는 각 항목에 대해 여러 개의 Select 쿼리를 실행하는 것에 대해 회의적입니다. 이 일을하는 다른 효율적인 방법이 있습니까 ??

미리 감사드립니다. Nik

+0

고려해야 할 다른 테이블의 데이터를 가져 오기 위해 조인 집합을 사용하는 것은 어떻습니까? – cdhowie

+0

@cdhowie : 예. 하지만 여기서는 각각의 10000 레코드에 대해 조인 쿼리를 실행해야합니다. 권리 ? 몇 가지 예를 들려 주시겠습니까? – Nik

+0

10,000 레코드를 가져 와서 고려해야하는 다른 테이블에 조인하는 하나의 쿼리를 실행합니다. 따라서 한 번의 쿼리로 필요한 모든 데이터를 가져올 수 있어야합니다. 나는 당신의 테이블과 쿼리에 관한 더 많은 정보없이 예제를 제공 할 수 없다. – cdhowie

답변

0

아마도 10,000 개의 "POJO"를 datanbase의 테이블에 삽입 한 다음 다른 테이블과 조인하는 쿼리를 실행해야할까요?

+0

답장을 보내 주신 Tony에게 감사드립니다 !! 그게 할 수 있는지 확인해 줘 !! – Nik

관련 문제