du kunne opnå dette i én forespørgsel ved at bruge 'UNION ALL' i MySQL.
Du skal blot gå gennem tokens i PHP og skabe en UNION ALL for hvert token:
hvis tokens f.eks. er 'x', 'y' og 'z' kan din forespørgsel se sådan ud
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...
Ordrebestemmelsen skal fungere på hele resultatsættet som én, hvilket er det, du har brug for.
Med hensyn til ydeevne vil det ikke være så hurtigt (jeg gætter på), men med databaser er den vigtigste overhead med hensyn til hastighed ofte at sende forespørgslen til databasemotoren fra PHP og modtage resultaterne. Med denne teknik sker dette kun én gang i stedet for én gang pr. token, så ydeevnen vil stige, jeg ved bare ikke, om det vil være nok.