2011-11-12 233 views
7

我意识到MySQL 5.6仍处于测试阶段,但有没有人有使用新InnoDB FTS引擎的经验?它与狮身人面像相比如何?MySQL 5.6 InnoDB全文搜索

感谢 杰森

+1

有环顾四周: 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

这是InnoDB FTS与MyISAM相比的性能测试: http://blogs.innodb.com/wp/2011/07/innodb-fts-performance/

InnoDB它的位速度更快特别是在索引中,但它仍然远离狮身人面像的性能......

+2

不过,使用一种产品而不是两种产品要容易得多。特别是,当你将这一切付诸实施并走开。当然,在我们的大项目中我们使用狮身人面像。 – Oroboros102

3

从来没有使用过狮身人面像,但在Innodb表上使用了MySQL 5.6 FTS,大约有170k行。在名称列上创建一个FTS索引(包含一个人的所有姓名)。在字符串MATCH(name) AGAINST("+word*") IN BOOLEAN MODE的任何位置找到一个单词的速度比使用name LIKE "word%" OR name LIKE "% word"快很多(在我的情况下为2-3倍)。但是,在进行连接时,请检查EXPLAIN以查看是否实际使用了FTS索引。看起来MySQL优化器并不擅长猜测什么时候应该使用FTS索引。

2

以前需要从labs.mysql.com下载一个特殊版本的FULLTEXT功能现在是5.6.5及更高版本(仍在测试版)中的主要MySQL版本的一部分。为FULLTEXT功能的文档现在包括特定的InnoDB-细节:MySQL Full-Text Search Functions