Zastrzeżenie :to jeden z moich komentarzy do tego pytania, który może być odpowiedzią:
Myślę, że match ... against
jest tutaj właściwe. Jest to tak zwane „wyszukiwanie pełnotekstowe”. W przypadku bardziej złożonych wyszukiwań użyłbym Sphinx
- samodzielnie indeksuje Twoją bazę danych (ma na to własny mechanizm) i wykonuje wyszukiwania dużo szybciej niż MySQL