At lave en separat forespørgsel er ikke en god løsning (efter min mening), fordi serveren vil søge i rækker to gange efter ét resultatsæt.
For at forhindre "dobbelt" forespørgsel MySQL har funktionen FOUND_ROWS(), returnerer den et antal rækker, der er grundlagt for aktuelle forhold fra WHERE
klausul. Dette er meget nyttigt, når du bruger LIMIT og OFFSET i forespørgslen. Jeg mener, at brugen af denne funktion er en bedre løsning.http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows
Jeg havde læst for noget tid siden, at JDBC streamer rækker fra serveren, men dette var ikke officiel dokumentation, og jeg kan ikke fortælle, hvordan det fungerer i nutiden, men forespørgsler kan være anderledes - med vanskelige underforespørgsler og joinforbindelser. Jeg tror, at serveren kan afslutte alle ressourcer, hvis de kun vil "streame" disse rækker, når klienten bad om dem.