a 라는 테이블에
현재 총 record 수는 68개 입니다.
그런데, 이걸 쿼리로 돌려보면
explain 에서 해당 테이블 풀스캔 했을때 rows 수가 686으로 나오는데 ㅠㅠㅠ
이거 왜 이런건가요 ㅠㅠ
사용 DB는 마리아 DB 입니다.
--------------------------------------------------------------------------------------
SELECT
TB_RVAS_MAST.VACCT_NO,
finMember. NAME,
finMember.phone,
campaign. NAME AS campaign_name,
accountCore. NAME AS account_name,
max(TB_RVAS_LIST.ENTRY_DATE) AS last_use,
min(TB_RVAS_LIST.ENTRY_DATE) AS first_use,
CASE TB_RVAS_MAST.STAT_CD
WHEN 0 THEN
'미사용'
WHEN 1 THEN
'사용'
WHEN 2 THEN
'폐기'
END AS STATUS
FROM TB_RVAS_MAST LEFT OUTER JOIN fin19.determinator
ON CUST_CD = determinator_idx
AND virtual_account_type = 'DT0402'
LEFT OUTER JOIN kyo4726.donation_vpa_account ON donation_vpa_account.vpa_account_idx = TB_RVAS_MAST.vpa_account_idx
AND virtual_account_type = 'DT0401'
LEFT OUTER JOIN kyo4726.finMember ON (
determinator.pid = finMember.pid
AND determinator.mem_type = finMember.mem_type
)
OR (
donation_vpa_account.pid = finMember.pid
AND donation_vpa_account.mem_type = finMember.mem_type
)
LEFT OUTER JOIN fin19.campaign USING (campaign_idx)
LEFT OUTER JOIN fin19.accountCore ON donation_vpa_account.acnt_code = accountCore. CODE
LEFT OUTER JOIN TB_RVAS_LIST ON TB_RVAS_MAST.BANK_CD = TB_RVAS_LIST.BANK_CD
AND TB_RVAS_MAST.ORG_CD = TB_RVAS_LIST.ORG_CD
AND TB_RVAS_MAST.VACCT_NO = TB_RVAS_LIST.VACCT_NO
WHERE TB_RVAS_MAST.STAT_CD = 0
GROUP BY
TB_RVAS_MAST.vpa_account_idx;
그리고 위와 같은 쿼리가 있는데.
TB_RVAS_MAST 테이블에 데이터를 3만건 정도 추가해서 저걸 실행하니 5분이상 걸리더군요..ㅠㅠ
쿼리 튜닝밖에 답이 없을까요??