MySQL heeft speciale ondersteuning voor dit soort dingen. Voeg eerst SQL_CALC_FOUND_ROWS
. toe in uw SELECTEER:
SELECT SQL_CALC_FOUND_ROWS *
FROM Badges
WHERE UID = '$user'
ORDER by Date DESC
LIMIT 10 -- Or whatever
Trek dan je rijen eruit en kijk dan meteen naar FOUND_ROWS()
zoals dit:
SELECT FOUND_ROWS()
om het aantal rijen te krijgen dat overeenkomt met uw oorspronkelijke zoekopdracht zonder rekening te houden met de LIMIT-clausule.
Dit is MySQL-specifiek, maar het zou iets sneller moeten zijn dan twee query's uitvoeren.