like 의 검색 속도를 올릴 수 있는 방법은 없나요? 0 3 2,227

by 로이스 [2013.04.19 16:14:17]


select
from
a, b, c, f
where a = b
and b = c
and b = 'vd'
and a = f
and upper(replace(c.video_title2,' ')) like '%무한%' escape '\'

DB는 인포믹스 이며 4개의 조인 테이블을 이용하여 마지막에 이 조건 하나를 넣어서 건수를 추출하고 있습니다. 
where upper(replace(c.video_title2,' ')) like '%무한%' escape '\'

위의 조건을 빼도 속도는 빠르지 않으나 like까지 사용하고 있는 바람에 너무 속도가 느려지고 있습니다. 
인터넷을 통해서 찾아본 내용으로는 검색엔진을 이용한 것과 프로그래밍을 이용해서 해보라고 하는데...

쿼리쪽으로 한번 튜닝을 해보라고 하시네요. 

like를 대체할 수 있는 다른 함수가 있나 찾아봤지만 그렇다할 것을 보지 못했네요. 

혹시 방법이 있다면 좀 알려주시면 감사하겠습니다. 



by 부쉬맨 [2013.04.19 16:16:39]
인포믹스에 도메인인덱스라고존재하는지는모르겟지만
찾아보시길..

by 손님 [2013.04.23 18:41:31]

%를 앞뒤로 붙이는 이상 빠르게 검색하는 방법은 없다고 합니다.

영어 단어를 찾을때 첫 스펠링을 알면 찾기가 쉬우나,

****tion 이라는 단어를 찾으려고 하면 사전을 처음부터 끝까지 뒤지는 수밖에 없는 것과 같은 이치라 합니다.

DB도 앞글자를 모르니 full scan 할수밖에 없죠


by 부쉬맨 [2013.04.24 09:06:01]
도메인인덱스자체는 %% 검색을위해서 처리하는게존재합니다.
없지는않죠..
다른 문제로 사용하지못하는거뿐이지
잘확인해보고 좋은거쓰면되요.
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입