반응형
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() 사용
을 하면 된다.
반응형
'IT > Database' 카테고리의 다른 글
[Oracle] 오라클 PARTITION BY 사용법 정리 (group by 와 차이) (27) | 2024.02.02 |
---|---|
[Oracle] EXTRACT 함수 관련 (31) | 2024.01.30 |
[Oracle] Unix Time To oracle sql (소수점 까지 f 로 ) (13) | 2024.01.25 |
[Mysql] Specified key was too long (25) | 2024.01.23 |
[Mysql]GROUP_CONCAT 관련(order by, 구분자, 인코딩) (30) | 2024.01.22 |
댓글