개발자

Java 배치프로그램에서 효율적인 method사용

2022년 12월 16일조회 315

운영중인 java 배치데몬에서 조건중 특정 조건으로 업데이트 하는 method A()가 있습니다. main(){ methodA(): } methodA(){ update ~~ where a; } update 결과가 0이면 b조건으로 한번 더 업데이트하려고 하는걸 추가하려고 해요. 이때 방법1. methodA에 update where b;를 그냥 추가해서 사용할지 방법2. methodA를 공통으로 사용하도록 파라미터를 받도록 수정해서 만들고 main에서 if methodA(a)의 값이 0일 경우 methodA(b) 수행 이런식으로 하는게 좋을지 어떻게 하는게 효율적(메모리 관리 등)인 방법일까요? 참고로 해당methodA는 다른곳에서 사용하지 않아서 영향도는 없습니다~

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

김대현님의 프로필 사진

update where a; update where b; 가 아마도 DB쿼리에 대한 의사코드를 표현하신 것으로 추측합니다. 자바 코드 수준에서 if 분기로 나눌지 말지는, 성능이나 메모리상에 영향이 없다고 봐도 될 것 같습니다. 현대의 컴퓨터는 if 분기나 메소드 호출 추가 여부로 성능상 차이가 눈에 띄기는 힘들 정도로 너무도 빠릅니다. 다만, DB 쿼리라고 했을때, update where b에 해당하는 데이터가 꽤 많아서 쿼리 실행 시간이 오래걸리거나, DB 성능에 영향을 준다면, 조금이라도 부담을 덜어주는 측면에서 a 조건에 해당 된 경우에만, b조건을 실행토록 하는 것이 나을 수 있겠습니다. 만약 update where b의 쿼리 속도가 느리지 않은 경우라면, (= 간단한 쿼리라면) 저라면 그냥 update where a or b로 한 번에 처리하겠습니다.

profile picture

익명

작성자

2022년 12월 16일

db쿼리에 대한 의사코드 표현 맞습니다. 워낙 오래된 프로그램이고 java7에서 돌아가는 녀석이라 고민했던건데 update가 오래걸리지 않는 간단한 것이기 때문에 한번에 처리하는게 좋을것 같네요. 의견 감사합니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!