sql >> Base de Datos >  >> RDS >> Mysql

MySQL 5.6 InnoDB Búsqueda de texto completo

Nunca usé Sphinx, pero probé MySQL 5.6 FTS en una tabla Innodb con aproximadamente 170k filas. Hizo un índice FTS en la columna de nombre (contiene todos los nombres de una persona). Para encontrar una palabra en cualquier posición de la cadena MATCH(name) AGAINST("+word*") IN BOOLEAN MODE funciona mucho más rápido (2-3 veces en mi caso) que usar name LIKE "word%" OR name LIKE "% word" . Sin embargo, al realizar uniones, compruebe EXPLICAR para ver si realmente se utiliza el índice FTS. Parece que el optimizador de MySQL no es tan bueno para adivinar cuándo se debe usar el índice FTS.