[英]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.