poprawić wydajność klauzuli LIKE

To był ból na mojej głowie od kilku dni. Stworzyłem bazę danych bez wiedzy na temat wydajnościLIKE. Użyte przeze mnie zapytanie jest następujące:

SELECT  ....
FROM    .... JOINS ....
WHERE   tableA.col1 LIKE '%keyword%' OR
        tableB.col2 LIKE '%keyword%' OR
        tableC.col2 LIKE '%keyword%' OR
        .....

Kiedy testowałem zapytanie, było ono bardzo szybkie, ponieważ było na nim tylko około 100-150 rekordów. Chciałem wyszukać dowolny ciąg zawierający słowo kluczowe. Wraz z upływem miesięcy baza danych stała się ogromna i zawierała 50 000 rekordów. Tym razem już doświadczam niskiej wydajności zapytania. To było bardzo niskie.

Jakieś sugestie, jak mogę to poprawić? Nie mogę zmienić bazy danych, ponieważ była już używana przez korporację.

Przy okazji, wszystkie moje stoły byłyINNODB.

questionAnswers(3)

yourAnswerToTheQuestion