Spuneam a trebuie sa faci 2 tabele pentru reverse index si ca nu e mare lucru, nu trebuie sa fii avansat, orice incepator e in stare s-o faca. Tu interoghezi foarte bine baza de date, mai bine de atat nu prea se poate daca nu faci reverse index. Problema e ca baza de date nu e facuta sa fie interogata asa cum vrei tu. De fapt termenul de "baza de date" in sine e un termen mult prea avansat pentru singura tabela denormalizata pe care o ai acolo.
Later edit:
Acum am vazut mai atent ce ai facut acolo.
Daca vrei un "quick hack" scoate "order by" din query si baga "limit $startrow, 10" ca intr-adevar, tu incarci toate rezultatele in memorie.
Order by s-ar putea sa-l forteze sa gaseasca toate rezultatele ca sa le poarta sorta (depinde de cum e implementat in mysql).

