진지한 개발자

튜닝 실전(작업중) 본문

SQL/SQLP

튜닝 실전(작업중)

제이_엔 2024. 2. 14. 15:28
728x90
  • NOT IN 을 조건절에 사용하는 경우 풀스캔하게 됨. IN 사용을 권장

2) NL JOIN(ORD_NO + ORD_DT) VS HASH JOIN(ORD_DT)
STAT_CD 10% 라는 부분과 최근 1년 조회가 많다는 걸 보고 전자를 택함
IF) ORD_DT를 선두로한다면 다른 모든 주문을 불필요하게 읽어야함

튜닝포인트

1) NOT_IN을 IN으로 변경해 INDEX SCAN 유도
ORD_NO이 150만건 테이블이고 최대기간 검색 시 10%인 15만건 정도면 INDEX 스캔해도 괜찮아보임.
2) ORD_MATERIAL 테이블 인덱스 신규생성 및 A.ORD_DT = B.ORD_DT 조건추가
ORD_NO + ORD_DT LOCAL로 구성하면 ORD_NO으로 접근 후 파티션 PRNUING가능
자주 들어오는 연단위조건이 들어올 시 한개의 파티션만 보면됨
3) 불필요 테이블 제거하기 : MATERIAL 조인 제거
SELECT-LIST에 참조하지도 않고, ERD상 ORD_MATERIAL은 반드시 하나의 MATERIAL을 포함하기 때문에 제거가능(EXISTS도 불필요.)

728x90

'SQL > SQLP' 카테고리의 다른 글

SQL Hint  (0) 2024.02.14