요구사항 : 결과값에서 중복 제거 구현된 기능 중 약 100만 건 가량의 데이터가 조회되는 기능이 있었다. left join 문이지만 단순 조회라서 위 이미지에서 보는 것처럼 시간 성능은 126ms 근처를 오가는 수준. 중복 결과를 제거해야 될 요구사항이 생겨 distinct를 이용해 간단히 해결하려고 했다. 하지만, 문제 발생 속도 저하라는 더 큰 문제에 직면했다. (0.1초에서 14초로 늘어나다니...😱) 참고로 중복 제거 결과 데이터의 양은 약 31만건. 문제 원인 DB 조회 후 응답 객체로 도메인 객체를 바로 사용하고 있었다. 도메인은 건드릴 수 없는 상황이고, 기존의 도메인 객체는 이미 컬럼이 엄청 많은 상태다. 그래서 인덱스를 태워도 Distinct 사용 시 압도적으로 높은 cost가 발생할 ..