안녕하세요.
현재 쇼핑몰을 유지보수하고 있는데요.
현재 등록된 상품은 150여개 정도가 됩니다.
구성 : 상품장바구니테이블(cart), 상품테이블(product)
로직
SELECT x.ca_idx //-- 쇼핑카드 인덱스
, x.ca_prdno //-- 상품코드
, x.ca_prdname //-- 상품명
, x.ca_prdimg //-- 상품이미지
, x.ca_opt_idx //-- 옵션인덱스
, x.ca_opt_amount //-- 옵션수량
, y.prd_min_qty //-- 등록된 상품의 최소구매수량
, y.prd_max_qty //-- 등록된 상품의 최대구매수량
FROM (
SELECT ca_idx, ca_prdno, ca_prdname, ca_prdimg, ca_opt_idx, ca_opt_amount
FROM cart
WHERE ca_id = 'xxxxxxxxx' //-- 로그인아이디
AND ca_direct = 'basket'
GROUP BY ca_prdno
ORDER BY ca_idx ASC
) AS y
LEFT JOIN product AS y
ON x.ca_prdno = y.prd_no
위와 같이 구성이 되어있습니다.
한두개의 상품/옵션이 장바구니에 담길때는 문제가 안되는데요.
좀 많이 담게 되면 로딩이 좀 느려지는 경향이 있습니다.
인덱스는 잡혀있구요.
explain을 해보면 using temporary, using filesort로 잡히네요 ㅡㅡ
잘못된 부분이 있으면 조언부탁드립니다.
감사합니다.