상황 설명

문제 발생

Untitled

원인 분석

explain
select count(product_id)
from product
order by product_id;

                                EXPLAIN 실행 결과 BTREE 기반의 인덱스를 사용 확인

                            **EXPLAIN 실행 결과 BTREE 기반의 인덱스를 사용 확인**

index 타입은 ORDER BY 절이 인덱스 순서와 일치할 때나, 집계 함수 (COUNT, SUM 등)를 사용할 때 발생할 수 있다.

해결 방법

  1. 매일 자정 상품 정보가 업데이트 될 때, Cache에 상품의 전체 개수를 저장
  2. 전체 상품 갯수 조회 쿼리 별도로 발생 → Cache에 저장
  3. page 조회 쿼리를 날릴 때 마다 Cache 결과를 활용 → Cache에서 totalElement를 조회해오는 방식 도입. ⇒ 해당 줄의 글 필요??