like substr instr 성능 비교 방법 0 1 1,087

by 검푸 [Oracle Tuning] like substr instr 성능비교 [2017.05.08 11:15:56]


안녕하세요

 

인덱스 없는 필드를 full scan 할 경우

substr, instr 같은 함수 사용과 like 같이 검색을 할 경우

어떤 경우가 성능에 좋은지 확인을 해야 할 수 있을까요.

 

1. 함수 사용 substr(0,8) = '20170408'

2. 검색 like = '20170408%'

 

성능상 수치를 확인하고 싶은데 어떻게 해야 하는지 잘 모르겠어요

Trace level 8로 확인 해 보니 어떤 수치로 확인을 해야 하는지 모르겠어요.

아니면 substr,instr, like 비슷하기 때문에 확인이 안 되나요?

by 마농 [2017.05.08 11:37:19]

문자열의 중간 검색이 아닌 처음 부분을 검색하는 것이므로
substr, instr 등의 함수 사용 보다는
인덱스를 이용한 LIKE 검색이 좋습니다.
그러나 인덱스가 없는 상황이라면?
뭘 쓰던 크게 상관 없습니다.
각 함수마다 내부 처리 방법이 다르니 성능차가 있을 수도 있으나
체감할 수 없을 정도로 차이가 미미할 듯 합니다.
LIKE 가 조금 느릴 것 같은 느낌적인 느낌이 있긴 한데요.
대용량 데이터를 가지고 직접 수행시간을 비교 테스트 해보세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입