2011-11-12 4 views
7

MySQL 5.6이 여전히 베타 버전이지만, 새로운 InnoDB FTS 엔진을 사용해 본 경험이있는 사람이 있습니까? 스핑크스와 어떻게 비교 될까요?MySQL 5.6 InnoDB 전체 텍스트 검색

감사 제이슨

+1

MySQL Full-Text Search Functions 주위 보라 : 전체 텍스트 기능에 대한 문서는 이제 InnoDB의 특정 세부 사항을 포함 http://blogs.innodb.com/wp/2011/07/difference-between-innodb-fts-and -myisam-fts/ http://blogs.innodb.com/wp/2011/07/innodb-fts-performance/ http://blogs.innodb.com/wp/2011/07/innodb-full-text -search-tutorial/ http://blogs.innodb.com/wp/2011/07/overview-and-getting-started-with-innodb-fts/ – Jauzsika

+0

찾고 계신 특정 기능 또는 실적 측정 항목이 있습니까? 명시된 바와 같이 귀하의 질문은 건설적이고 비 주관적인 대답을 얻지 못할 것입니다. – Kris

답변

1

스핑크스 검색이 ... 그냥 기능의 MySQL의 전체 텍스트 검색을 위해 개발

다음

당신이 스핑크스와 MySQL FTS의 비교 것을 기억하십시오 : http://www.percona.com/files//presentations/opensql2008_sphinx.pdf

다음은 MyISAM에 비해 InnoDB FTS의 성능 테스트입니다. http://blogs.innodb.com/wp/2011/07/innodb-fts-performance/

InnoDB는 조금 더 빠릅니다. 특히 인덱싱에서 그렇지만 스핑크스 성능에서 아직 멀어져 있습니다 ...

+2

두 제품 대신 하나의 제품을 사용하는 것이 훨씬 쉽습니다. 특히 고객에게이 모든 것을 구현하고 떠날 때. 우리의 큰 프로젝트에서 우리는 물론 스핑크스를 사용합니다. – Oroboros102

3

스핑크스를 사용하지 않았지만 약 170k 행의 Innodb 테이블에서 MySQL 5.6 FTS를 사용하지 않았습니다. 이름 열에 FTS 색인을 작성했습니다 (모든 사람 이름 포함). MATCH(name) AGAINST("+word*") IN BOOLEAN MODE 문자열의 모든 위치에서 단어를 찾으려면 name LIKE "word%" OR name LIKE "% word"을 사용하는 것보다 훨씬 빠르게 (내 경우에는 2-3 번) 작동합니다. 그러나 조인을 만들 때 EXPLAIN을 검사하여 FTS 인덱스가 실제로 사용되는지 확인하십시오. FTS 인덱스를 사용해야 할 때 MySQL 옵티마이 저가 추측 할 수 없을 것 같습니다.

2

이전에 labs.mysql.com에서 특수 빌드를 다운로드해야했던 FULLTEXT 기능은 이제 5.6.5 이상의 기본 빌드 (베타 버전)의 일부입니다.