我知道FTS5.6仍处于测试阶段,但有谁有使用新的InnoDB MySQL引擎的经验吗?它与Sphinx这样的东西相比怎么样?
谢谢,杰森
发布于 2011-12-21 22:52:22
从未使用过Sphinx,但在一个大约有170k行的Innodb表上尝试了MySQL 5.6FTS。在name列上创建FTS索引(包含一个人的所有姓名)。与使用name LIKE "word%" OR name LIKE "% word"相比,在字符串的任意位置查找单词时,MATCH(name) AGAINST("+word*") IN BOOLEAN MODE确实要快得多(在我的例子中是2-3倍)。但是,在进行连接时,一定要检查EXPLAIN,以查看是否实际使用了FTS索引。看起来MySQL优化器并不擅长猜测何时应该使用FTS索引。
发布于 2012-04-12 00:31:20
以前需要从labs.mysql.com下载特殊构建的全文功能,现在是5.6.5及更高版本主线MySQL构建的一部分(仍处于测试阶段)。全文函数的文档现在包含了特定于InnoDB的细节:MySQL Full-Text Search Functions
发布于 2011-11-26 16:19:47
请记住,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的速度要快一些,特别是在索引方面,但它的性能还远远不能达到……
https://stackoverflow.com/questions/8104094
复制相似问题