I never used Sphinx, but tried to use MySQL 5.6 FTS on an Innodb table with about 170 thousand lines. Created an FTS index in the name column (contains all the personβs names). Finding a word anywhere in the line MATCH(name) AGAINST("+word*") IN BOOLEAN MODE works much faster (2-3 times in my case) than using name LIKE "word%" OR name LIKE "% word" . However, when creating joins, check EXPLAIN to see if the FTS is actually used. It seems the MySQL optimizer is not so good at guessing when to use the FTS index.
Artem goutsoul
source share