SQLP 입문과정 _ 도원진

아래 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 
  1. 조인순서를 변경한다

  2. 상품_X01 인덱스 칼럼순서를 조정한다

  3. 상품_X01 인덱스에 칼럼을 추가한다

  4. 거래_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;