
복잡한 queryDSL에 대한 최적화 고민과 회고
·
카테고리 없음
복잡한 QueryDSL 쿼리, 문제 배경사용자 질의 기록을 분석하여 분석 결과 요약 리스트를 제공하는 API를 개발하면서, 다음과 같은 기능 요구사항이 있었습니다특정 기간 내 사용자 요청을 기준으로 응답/미응답 여부를 필터링분석 결과는 3가지 알고리즘 (a 분류, b 분류, c 유사도) 별로 각각 존재분석 결과 외에도 시나리오 정보, 엔티티 탐지 정보 등 다양한 부가 정보도 함께 보여줘야 함즉, 기준 테이블(A)에서 다수의 결과 테이블(B, C, D)를 각각 조인 또는 별도로 조회해야 하는 상황이었고, 단일 쿼리로 모든 결과를 가져오면 다음과 같은 문제가 있었습니다알고리즘마다 JOIN이 추가되며 성능 저하 발생응답/미응답 여부 판단을 위해 알고리즘별 조건이 달라 별도 조건 분기를 동적으로 처리해야 함UI..