아래 쿼리를 수행하면 80초 이상 걸리는데요
어떻게 해결할 수 있을까요?
####################################################
SELECT *
FROM
( SELECT C.LAST_NAME || C.FIRST_NAME NAME, C.GENDER,
TRUNC( (SYSDATE-TO_DATE(BIRTH_DAY,'YYYYMMDD'))/365) AGE,
A.CHANNEL_DESC, B.SEL_DATE
FROM CHANNELS A,
SALES B,
CUSTOMERS C
WHERE 1=1
AND A.CHANNEL_ID = 555
AND A.CHANNEL_ID = B.CHANNEL_ID
AND B.CUST_NUM = C.CUST_NUM
ORDER BY B.SEL_DATE DESC
)
WHERE ROWNUM <= 50
####################################################
# 테이블 건 수
. SALES 테이블 : 약 2천만건
. CHANNELS 테이블 : 11건
. CUSTOMERS 테이블 : 약 1백만건
# 인덱스
. SALES테이블에서 아래 인덱스 생성
: CREATE INDEX SALES_IDX_01 ON SALES(SEL_DATE DESC) ;
. CHANNELS 테이블에서 CHANNEL_ID 컬럼은 PK로 지정됨
. CUSTOMERS 테이블에서 CUST_NUM 컬럼은 PK로 지정됨
####################################################
|