2011-11-12 221 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