Notice
Recent Posts
Recent Comments
Link
«   2025/09   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

우주코딩

오라클 contains 본문

월급루팡

오라클 contains

우주코딩 2022. 3. 12. 17:53

오라클 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

 

같은 기능을 하지만 후자가 훨씬 빠르다.

 

(이번 예시는 프로시져로 하려고 했는데 복잡, 귀찮아서 패스)

Comments