우주코딩
오라클 contains 본문
오라클 contains
sql 문을 더 빠르게 하는 방법
보통 sql문에서 특정 문자를 포함하는 sql 을 짤 때 LIKE 를 쓰는 것이 보편적이다.
하지만, 이 like SQL문에서 검색문자열 앞에 % 가 있는 경우에는 인덱스를 타지 않거나, Index Fast Full Scan 을 하게 된다.
즉, 인덱스를 통째로 읽어서 찾는 것이다. Tabel Full Scan 과 비슷하여 많이 느리다.
이런 경우 빠르게 할 방법이 바로 'Oracle Text' 이다.
Intermedia Textm , Domain Index, Text Index 모두 같은 말이다.
이 기능은 내부적으로 키워드 딕셔너리를 구성하여 테이블에서 검색해오기 때문에 매우 빠르다.
select * from 테이블명 where 컬럼명 like '%' || #{변수명} || '%'
select * from 테이블명 where CONTAINS ( 컬럼명, '%' || #{변수명} || '%') > 0
같은 기능을 하지만 후자가 훨씬 빠르다.
(이번 예시는 프로시져로 하려고 했는데 복잡, 귀찮아서 패스)
'월급루팡' 카테고리의 다른 글
padStart (0) | 2022.05.12 |
---|---|
svn 프로젝트 소스 임포트 할 때 순서, 에러 잡기 (0) | 2022.03.16 |
ORDER BY 2,4,6 의 의미는 무엇일까 (0) | 2022.02.28 |
서브쿼리 - EXISTS ( SELECT 'x' 는 무엇일까 (0) | 2022.02.22 |
sql에서 where 1=1 을 왜 쓸까 (0) | 2022.02.09 |
Comments