DB 로직 최소화에 대한 방법은 개발자 면접에서 자주 나오는 질문 중의 하나!
DB 로직 최소화를 위해서는 DB 와 관련된 작업을 최적화하고 효율적으로 처리하는 방법을 적용해야 한다.
이를 통해, DB 성능을 개선하고 유지보수성을 높일 수 있다.
DB 테이블과 엔티티를 일관성 있게 설계
중복 데이터를 피하고 정규화를 적용
DB 에 직접적인 비즈니스 로직을 내장시키는 것을 피하기
서비스나 애플리케이션 레이어에서 비즈니스 로직을 처리하도록 분리
비즈니스 로직
본인인증, 아이디 중복 확인, 비밀번호 재검사를 거쳐서 회원가입하는 경우를 가정해보자.
2가지 영역으로 나눌 수 있다.아이디 중복 알림창, 회원가입이 성공 창 등... 사용자에게 표시해주는
view 영역
사용자가 입력한 아이디가 DB에 있는지 조사 등... 코드 상에서 이루어지는 과정은비즈니스 로직 영역
쿼리를 작성할 때 필요한 데이터만 조회
JOIN 등 복잡한 연산을 최소화
필요한 데이터를 미리 계산하여 캐싱
DB 뷰를 활용하여, 미리 계산된 결과를 조회하는 방식을 고려
대량의 데이터 처리 시, 적절한 커밋 주기와 배치 크기 설정으로 성능을 최적화
Batch VS Scheduler
참고: DB 로직 최소화
참고: 비즈니스 로직(Business Logic)이란?
[참고: [Spring] Batch와 Scheduler의 차이 Spring Scheduler