본문 바로가기
IT/Database

instr(), like 차이 및 비교

by 성준하이 2024. 1. 29.
반응형

database 에서 컬럼 내 특정 문자열을 찾기위해서 많은 방법이 있다.

 

대부분 like 를 사용하겠지만,

instr 이라는 함수와 함께 알아볼 것이다.

 

사용법은 둘다 간단하다.

 

컬럼 내에서 test라는 문구를 찾으려면
like 사용

 

SELECT * FROM TABLE WHERE COL LIKE '%test%';

 

instr 사용

 

SELECT * FROM TABLE WHERE INSTR(COL, 'test');

 

현재 쿼리에서는 둘 다 당연히 인덱스를 활용하지는 못한다.

 

하지만 like문에서는 'test%' 로 설정을 해서 test로 시작하는 ~~

을 구할수가 있다.

 

둘의 속도 비교 해보았고 결론은 

like 'ABC%' 일때 : 앞에 %가 없을때는 like 사용
like '%ABC%' or '%ABC' 일때 : 앞에 %가 있을때는 instr() 사용

 

을 하면 된다.

반응형

댓글