Att göra en separat fråga är inte en bra lösning (enligt mig) eftersom servern kommer att söka rader två gånger efter en resultatuppsättning.
För att förhindra "dubbel" fråga MySQL har funktionen FOUND_ROWS(), returnerar den ett antal rader som grundats för nuvarande villkor från WHERE
klausul. Detta är mycket användbart när du använder LIMIT och OFFSET i frågan. Jag tror att det är en bättre lösning att använda den här funktionen.http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows
Jag hade läst för ett tag sedan att JDBC strömmar rader från servern, men detta var inte officiell dokumentation och jag kan inte säga hur det fungerar i nutid, men frågor kan vara olika - med svåra underfrågor och sammanfogningar. Jag tror att servern kan avsluta alla resurser om den "strömmar" dessa rader endast när klienten frågar efter dem.