실행계획 substr vs like % 질문! 0 1 1,241

by 비디는껌 [Oracle 기초] 실행계획 오라클 [2012.05.31 15:05:17]



select prod_id 상품코드, prod_name 상품명,
sum(cart_qty) 판매수량,
sum(cart_qty * prod_sale)판매금액
from prod, cart
where prod_id = cart_prod
and substr(cart_no, 1, 4)= '2005'
group by prod_id, prod_name;

select prod_id 상품코드, prod_name 상품명,
sum(cart_qty) 판매수량,
sum(cart_qty * prod_sale)판매금액
from prod, cart
where prod_id = cart_prod
and cart_no like '2005%'
group by prod_id, prod_name;


두개의 실행계획을 비교해보니 cost byte cadinality값 차이가 엄청나게 납니다

substr vs like 차이같은데

정확하게 이유를 모르겠네요 !!

초보자니까 알려주세용!

그리고 다른 SQL문 같은 값이 나오는 예제 같은거 있으면 알려주세요~!!!

실행계획을 비교해봐야하는데 구하기가 쉽지않네요~

by 부쉬맨 [2012.06.01 09:18:22]
substr 일때는 indxe를 탔는지확인해보세요..

like 일때는 index를 탔는지 확인해보세요...

substr은 인덱스를 타지않았을것이고

like는 인덱스를 탔을것입니다.

이유는 index range 스캔을 검색하셔서 보시면될꺼같습니다.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입