단일작품과 전시회를 검색하면 페이지당 30개의 데이터를 조회합니다. 요청 유저마다 좋아요, 북마크 유무가 다르기 떄문에 검색 데이터만 캐싱을 진행하고 캐싱된 데이터 기반으로 요청 유저가 좋아요를 했는지, 북마크 했는지 확인하는 쿼리가 반드시 실행됩니다. 가득 찬 페이지를 조회할 때마다 단일작품은 30번(좋아요 확인 쿼리), 전시회는 60번(좋아요, 북마크 확인 쿼리)를 피할 수 없는 상황이 발생했습니다.
발생한 문제를 정리하면 다음과 같습니다.
위 문제를 해결하기 위해 해당 단일쿼리 30번을 한 번의 쿼리로 수정하고 응답시간을 확인해보려고 합니다.