Tener esta tabla:Optimización de consultas MySQL COMO '% cadena%' en InnoDB
CREATE TABLE `example` (
`id` int(11) unsigned NOT NULL auto_increment,
`keywords` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
Nos gustaría optimizar la siguiente consulta:
SELECT id FROM example WHERE keywords LIKE '%whatever%'
La mesa es InnoDB, (por lo que no FULLTEXT por ahora) ¿cuál sería el mejor índice para usar para optimizar tal consulta?
Hemos tratado de un simple:
ALTER TABLE `example` ADD INDEX `idxSearch` (`keywords`);
Pero un explican consulta muestra que necesidad de escanear toda la tabla si nuestras consultas en las LIKE '% lo' en lugar, este índice se realiza bien, pero de lo contrario no tiene valor.
¿Hay alguna forma de optimizar esto para innoDB?
Gracias!
Recomiendo también algún ajuste de rendimiento de mysql, [mysqltuner.pl] (http://mysqltuner.com/) o [tuning-primer.sh] (http://www.day32.com/MySQL/) – jaggedsoft