개발/DB
오라클 BETWEEN과 LIKE 스캔 범위를 비교 해보자
Mr.mandu.
2022. 8. 31. 20:39
안녕하세요.
개발을 하다보니 이제 평소 쓰는 문구들이 궁금해 지기 시작했습니다.
앞선 포스팅에서는 in절과 '=' 구문에 대해 알아보았습니다.
[개발/DB] - 오라클(oracle) 등 DB에서 IN절과 '=' 개념 차이 확인
오늘은 between과 like 스캔 범위를 알아보겠습니다.
between이 더 명확한 표현법임에도 불구하고 like를 사용하는 이유는 편해서이다.
물론 저도 like를 주로 사용합니다.
이렇게 말이죠.
select * from 테이블
where 일자 like '2022%'
and 상품 = B
;
select * from 테이블
where 일자 between '202201' and '202212'
and 상품 = B
;
결론부터 말씀드리면 like 보다는 between을 사용하는게 더 낫습니다.
위의 쿼리는 다음과같이 실행됩니다.
그림과 같이 조건절 like는 2022년 1월의 전체 범위까지 스캔을 하게 됩니다.
적당한 데이터를 조회하는데는 상관이 없어보이지만
대용량 데이터를 조회하는 쿼리가 느리다면 튜닝 할 필요는 있어 보입니다.
모두 좋은 하루 보내세요.