簡體   English   中英

MySQL 5.6 InnoDB全文搜索

[英]MySQL 5.6 InnoDB Full Text Search

我意識到MySQL 5.6仍處於測試階段,但是有沒有人有使用新的InnoDB FTS引擎的經驗? 與Sphinx之類的東西相比如何?

謝謝傑森

從未使用Sphinx,而是在具有約170k行的Innodb表上嘗試了MySQL 5.6 FTS。 在名稱列上建立FTS索引(包含一個人的所有名稱)。 MATCH(name) AGAINST("+word*") IN BOOLEAN MODE中,在字符串MATCH(name) AGAINST("+word*") IN BOOLEAN MODE任何位置查找單詞的速度比使用name LIKE "word%" OR name LIKE "% word"快得多(在我的情況下為2-3倍) name LIKE "word%" OR name LIKE "% word" 但是,在進行聯接時,請檢查EXPLAIN以查看是否實際使用了FTS索引。 似乎MySQL優化器並不擅長猜測何時應使用FTS索引。

以前需要從labs.mysql.com下載特殊版本的FULLTEXT功能現在已成為5.6.5及更高版本(仍處於beta版)的MySQL主線的一部分。 FULLTEXT函數的文檔現在包括InnoDB特定的詳細信息: MySQL全文搜索函數

記住,Sphinx搜索是為在mysql中進行全文搜索而開發的,它只是一個功能...

在這里,您可以比較sphinx和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的速度更快,尤其是在索引編制方面,但它與獅身人面像的性能仍然相去甚遠...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM