상품 총개수구할때의 속도문제 0 1 834

by 호야별리 [MySQL] [2021.02.26 15:09:45]


안녕하세요.

쇼핑몰 상품에서 총상품의 개수를 구하는데 있어 속도 좀 느린부분이 있어 문의드리고자 합니다.

상품의 총개수는 20여만개 정도 됩니다.

 

아래는 현재 구현된 쿼리문입니다.

SELECT COUNT(A.prdcode) total
  FROM wiz_product A                -- 상품등록테이블
 INNER JOIN wiz_cprelation B            -- 상품등록시 선택된 카테고리 구분 테이블
    ON B.prdcode = A.prdcode
 INNER JOIN 
     (SELECT catcode
       FROM wiz_category            -- 카테고리 테이블
      WHERE catuse != 'N'            -- 카테고리를 노출여부
    ) C
    ON B.catcode = C.catcode
 WHERE A.brand = 1                -- 상품브랜드
   AND A.showset = 'Y'                -- 노출여부

 

각테이블별 인덱스는 잡혀있습니다.

브랜드 페이지로 들어가게되면 체감속도가 4~5초 정도 되는데

위 쿼리문이 잘못된 점이 있다면 조언좀 부탁드립니다.

 

감사합니다.

 

by 마농 [2021.02.26 15:25:56]

1. COUNT(컬럼) --> COUNT(*)
2. 인라인뷰 제거
3. A.brand = 1 조건이 인덱스 탈 수 있는 조건인지?

SELECT COUNT(*) total
  FROM wiz_product A
 INNER JOIN wiz_cprelation B
    ON A.prdcode = B.prdcode
 INNER JOIN wiz_category C
    ON B.catcode = C.catcode
 WHERE A.brand = 1
   AND A.showset = 'Y'
   AND C.catuse != 'N'
;

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입