Nunca usei Sphinx, mas tentei MySQL 5.6 FTS em uma tabela Innodb com cerca de 170k linhas. Feito um índice FTS na coluna de nome (contém todos os nomes de uma pessoa). Para encontrar uma palavra em qualquer posição da string
MATCH(name) AGAINST("+word*") IN BOOLEAN MODE
funciona muito mais rápido (2-3 vezes no meu caso) do que usar name LIKE "word%" OR name LIKE "% word"
. No entanto, ao fazer junções, verifique EXPLAIN para ver se o índice FTS é realmente usado. Parece que o otimizador do MySQL não é tão bom em adivinhar quando o índice FTS deve ser usado.