아무것도 모르는 생초짜인데, 밑의 쿼리문 WHERE절 조건에 컬럼 5개 정도 더 있는데
이 상황에서 처리속도 올리려면 어떻게 해야하나요...
SELECT * FROM (
SELECT /*+PARALLEL(A 8)(B 8)*/
A.ACNO
,WRS_C
,DPZ_AC_STSC
,DPZ_AC_SBJC
,REP_CUSNO
,ANW_DT
,AMN_BRC
,AC_WRS_ATTR_NO
FROM TB_A A, TB_B B
WHERE
A.ACNO = B.ACNO
AND AMN_BRC BETWEEN NVL(:str_br,AMN_BRC) and NVL(:end_br,AMN_BRC)
AND ANW_DT BETWEEN NVL(:str_dt,ANW_DT) and NVL(:end_dt,ANW_DT)
AND STSC = '1'
AND WRS_C = NVL(:wrs_c,WRS_C)
ORDER BY ANW_DT DESC
)
WHERE
ROWNUM <= 10
Comment 1
-
축구선수
2018.03.15 16:56
오라클이네요...
우선 검색 조건 항목에 인덱스가 설정 되어있다면 where절에 nvl를 사용 안하시는게 좋습니다.
그리고 만약 인덱스가 조건절 컬럼중에 선택도를 확인하신 다음에 인덱스를 설정해 주시면
검색속도가 빨라지실 겁니다.