database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 29547 게시물 읽기
No. 29547
최적화된 검색방법
작성자
이하사(qpznm)
작성일
2010-02-12 16:04
조회수
6,419

데이터가 약 1억건 정도 있습니다.

검색시 LIKE '%%' 방식을 사용말고 효과적인 방법이 없을까요?

%를 양쪽다 사용해야 하는 이유는 찾고자 하는 단어를 검색해야 합니다.

예를 들어 필드에 "아버지 사랑합니다" 라고 입력이 되어 있고 , "사랑" 이라는 단어를 검색했을때 검색이 되어야 합니다.

이처럼 LIKE 방식을 사용하다 보니 검색 속도가 너무 느려서 , 찾아보다가 fulltext-index 방식을 해봤는데

이방식은 데이터가 UTF-8 로 저장이 되어 있을때만 한글 검색이 된다고 하네요..ㅠㅠ

다른 좋은 방법좀 알려주세요.

이 글에 대한 댓글이 총 1건 있습니다.

일단 검색되어야 하는 대상이 무엇인지에 따라 접근 방법은 크게 달라질 것 같습니다.

선택지는 여러가지가 있겠지요.

(1) 현재 사용하는 것과 같은 LIKE 검색

(2) MyISAM에서 지원하는 FULLTEXT 검색

(3) 오픈 소스 및 상용 검색 엔진 도입

(4) 구글등와 같은 외부 검색 엔진 결합 ( 웹사이트에만 해당되겠죠 )

(5) 검색되어야 하는 데이터가 입력되는 순간 구문 분석하여 키워드 보관

(6) 그 외 매우 커스텀한 방법들 : 자주 입력되는 검색어에 대한 daily/hourly 캐싱 등등...

 

제일 위에도 적었지만, 검색되어야 하는 데이터의 형태가 무엇인가에 따라 어떻게 검색 서비스를 구성할 지가 달라집니다.

박현우(lqez)님이 2010-02-16 10:07에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
29550MySQL 서버의 메모리는 얼마나 설치해야 적당할까요? [1]
김주홍
2010-02-16
6962
29549cpu wait 점유율 99.99% 미치겠습니다. [1]
치윤
2010-02-16
7290
29548DB Migration(?) 관련 조언 부탁드립니다. [3]
김주홍
2010-02-14
6127
29547최적화된 검색방법 [1]
이하사
2010-02-12
6419
29546날짜별로 최대 10개씩 값 가져오는 방법이 궁금합니다. [2]
쨔르
2010-02-12
6573
29543mysql 리플리케이션 방법으로 해서 쿼리를 분활을 하는 방법 [4]
김하림
2010-02-10
6554
29542int 디폴트 [2]
김성민
2010-02-10
6173
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.019초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다