otimizar tabelas para pesquisa usando a cláusula LIKE no MySQL

Eu estou construindo um recurso de pesquisa para a parte de mensagens do meu site, e tenho um banco de dados de mensagens com um pouco mais de 9.000.000 linhas, ee indexar nosender, subjectemessage Campos. Eu estava esperando para usar a cláusula LIKE mysql na minha consulta, como (ex)

SELECIONARsender, subject, message DEMessages ONDEmessage LIKE '% EXAMPLE_QUERY%';

para recuperar resultados. infelizmente, o MySQL não usa índices quando um curinga principal está presente, e isso é necessário para que a consulta de pesquisa apareça em qualquer parte da mensagem (é assim que os curingas funcionam, não?). Consultas sãomuito muito lento e eu não posso usar um índice de texto completo, por causa da regra irritante de 50% (eu simplesmente não posso me dar ao luxo de descartar tanto). Existe alguma maneira (ou até mesmo, qualquer alternativa para isso) para otimizar uma consulta usando como e dois curingas? Qualquer ajuda é apreciada.

questionAnswers(4)

yourAnswerToTheQuestion