아래 sql에 대한 튜닝방안으로 가장 적절한 것을 고르세요. (한 달 간 거래건수는 평균 20만 건)
SELECT p.상품코드, p.상품가격, t.거래일자, t.거래수량, t.거래금액
from 상품p, 거래t
where p.상품분류코드 = 'KTG'
and p.상품가격 between 50000 and 100000
and t.상품코드 = p.상품코드
and t.거래일자 between '20210101' and '20210131'
ROWS ROW SOURCE OPERATION
-------------------------------------------
308 NESTED LOOPS
69 TABLE ACCESS BY INDEX ROWID 상품
9185 INDEX RANGE SCAN 상품_X01
368 TABLE ACCESS BY INDEX ROWID 거래
385 INDEX RANGE SCAN 거래_X03
조인순서를 변경한다
상품_X01 인덱스 칼럼순서를 조정한다
상품_X01 인덱스에 칼럼을 추가한다
거래_X03 인덱스에 컬럼을 추가한다
지우 : 3번 (상품_X01인덱스 읽고 추출된 수에 비해 테이블 access 후 걸러지는게 적어서 비효율적)
은지 : 저도 이렇게 생각합니다
아래 SQL을 위한 두 테이블의 최적 인덱스 구성안을 고르시오. -신윤구
SELECT * FROM ( SELECT A.*, B.TRMS_DT, B.TRMS_DESC FROM PRA_HST_STC A, ODM_TRMS B WHERE A.SALE_ORG_ID = :SALE_ORG_ID AND B.STRD_GRP_ID = A.STRD_GRP_ID AND B.STRD_ID = A.STRD_ID AND B.TRMS_DT BETWEEN :TRMS_DT1 AND :TRMS_DT2 ORDER BY A.STC_DT DESC ) WHERE ROWNUM <= 10;
①