Non ho mai usato Sphinx, ma ho provato MySQL 5.6 FTS su una tabella Innodb con circa 170.000 righe. Creato un indice FTS sulla colonna del nome (contiene tutti i nomi di una persona). Per trovare una parola in qualsiasi posizione della stringa MATCH(name) AGAINST("+word*") IN BOOLEAN MODE
funziona molto più velocemente (2-3 volte nel mio caso) rispetto all'utilizzo di name LIKE "word%" OR name LIKE "% word"
. Tuttavia, quando si creano join, controllare EXPLAIN per vedere se l'indice FTS è effettivamente utilizzato. Sembra che l'ottimizzatore MySQL non sia così bravo a indovinare quando dovrebbe essere utilizzato l'indice FTS.