Avere questa tabella:Ottimizzazione delle query MySQL LIKE '% stringa%' in InnoDB
CREATE TABLE `example` (
`id` int(11) unsigned NOT NULL auto_increment,
`keywords` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;
Vorremmo ottimizzare la seguente query:
SELECT id FROM example WHERE keywords LIKE '%whatever%'
Il tavolo è InnoDB, (quindi non FULLTEXT per ora) quale sarebbe l'indice migliore da utilizzare per ottimizzare tale query?
Abbiamo provato un semplice:
ALTER TABLE `example` ADD INDEX `idxSearch` (`keywords`);
Ma un spiegare query mostra che necessità di eseguire la scansione di tutto il tavolo se le nostre domande in cui LIKE 'qualunque%' invece, questo indice si comporta bene, ma altrimenti non ha valore.
Esiste comunque l'ottimizzazione per innoDB?
Grazie!
Mi raccomando qualche ottimizzazione delle prestazioni di MySQL, [mysqltuner.pl] (http://mysqltuner.com/) o [tuning-primer.sh] (http://www.day32.com/MySQL/) – jaggedsoft