안녕하세요.
쇼핑몰 작업을 진행하고 있는데요.
쿼리문을 이렇게도 구성해보고 저렇게도 구성해보면서 구현을 진행 하고 있습니다.
아래 2가지 방법으로 구성해서 테스트를 해보았는데요. 실질적으로 explain를 처리해보면 .extra부분에 구성되어지는 부분이 틀린데 그이유가 궁금하네요
어떤형태의 쿼리로 구성을 해야 옮게 진행되는것인지 고수님들의 조언부탁드립니다.
테이블은 2개로 구성되어 조인을 하고있습니다. (장바구니 테이블과 상품테이블입니다.
첨부파일은 explain했을때 나온 화면입니다.
1번쿼리
EXPLAIN SELECT x.ca_idx
, x.ca_prdno
, x.ca_prdname
, x.ca_prdimg
, x.ca_opt_idx
, x.ca_opt_amount
, y.prd_pur_type
, y.prd_min_qty
, y.prd_max_qty
, y.prd_stock
, y.prd_coupon_use
FROM mkw_cart_temp AS X // 장바구니테이블
INNER JOIN shop_product AS Y // 상품테이블
ON x.ca_prdno = y.prd_no
WHERE x.ca_id = 'e59df6010a5765549f975003d672170b' //-- 고객아이디
AND x.ca_direct = 'basket' //-- 장바구니 구분자형태
ORDER BY x.ca_idx ASC
2번 쿼리
EXPLAIN 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 mkw_cart_temp
WHERE ca_id = 'e59df6010a5765549f975003d672170b'
AND ca_direct = 'basket'
ORDER BY ca_idx ASC
) AS X
INNER JOIN shop_product AS Y
ON x.ca_prdno = y.prd_no