możesz to osiągnąć w jednym zapytaniu, używając 'UNION ALL' w MySQL.
Po prostu przejdź przez tokeny w PHP, tworząc UNION ALL dla każdego tokena:
np. jeśli tokeny to „x”, „y” i „z”, zapytanie może wyglądać mniej więcej tak
SELECT * FROM `entries`
WHERE token like "%x%" union all
SELECT * FROM `entries`
WHERE token like "%y%" union all
SELECT * FROM `entries`
WHERE token like "%z%" ORDER BY score ect...
Klauzula zamówienia powinna działać na całym zestawie wyników jako jeden, czego potrzebujesz.
Pod względem wydajności nie będzie tak szybko (zgaduję), jednak w przypadku baz danych głównym obciążeniem pod względem szybkości jest często wysyłanie zapytania do silnika bazy danych z PHP i odbieranie wyników. Dzięki tej technice dzieje się to tylko raz, a nie raz na token, więc wydajność wzrośnie, po prostu nie wiem, czy to wystarczy.