melhorar o desempenho da cláusula LIKE
Isso tem sido uma dor na minha cabeça nos últimos dias. Eu criei o banco de dados antes sem qualquer conhecimento sobre o desempenho deLIKE
. A consulta que usei é assim,
SELECT ....
FROM .... JOINS ....
WHERE tableA.col1 LIKE '%keyword%' OR
tableB.col2 LIKE '%keyword%' OR
tableC.col2 LIKE '%keyword%' OR
.....
Quando eu testei a consulta, foi muito rápido porque havia apenas cerca de 100-150 registros. Eu queria pesquisar por qualquer string que contenha a palavra-chave. Com o passar dos meses, o banco de dados cresceu enormemente, contendo 50.000 registros. E desta vez, eu já estou experimentando o baixo desempenho da consulta. Foi extremamente baixo.
Alguma sugestão como posso melhorá-lo? Eu não posso alterar o banco de dados porque ele já foi usado pela corporação.
By the way, minhas mesas estavam todasINNODB
.