Indeks nie przyspieszyłby zapytania, ponieważ w przypadku kolumn tekstowych indeksy działają na zasadzie indeksowania N znaków, zaczynając od lewej. Kiedy robisz LIKE '%text%', nie możesz użyć indeksu, ponieważ przed tekstem może być zmienna liczba znaków.
To, co powinieneś zrobić, to w ogóle nie używać takiego zapytania. Zamiast tego powinieneś użyć czegoś takiego jak FTS (wyszukiwanie pełnotekstowe), które MySQL obsługuje dla tabel MyISAM. Całkiem łatwo jest również samodzielnie stworzyć taki system indeksowania dla tabel innych niż MyISAM, wystarczy osobna tabela indeksów, w której przechowujesz słowa i ich odpowiednie identyfikatory w rzeczywistej tabeli.
Aktualizacja
Wyszukiwanie pełnotekstowe dostępne dla tabel InnoDB z MySQL 5.6+.