Vytvoření samostatného dotazu není dobré řešení (podle mého názoru), protože server prohledá řádky dvakrát pro jednu sadu výsledků.
Aby se zabránilo "dvojitému" dotazu, MySQL má funkci FOUND_ROWS(), vrací počet řádků založených pro aktuální podmínky z WHERE
doložka. To je velmi užitečné, když v dotazu použijete LIMIT a OFFSET. Věřím, že použití této funkce je lepší řešení.http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows
Před časem jsem četl, že JDBC streamuje řádky ze serveru, ale toto nebyla oficiální dokumentace a nemohu říci, jak to funguje v současnosti, ale dotazy mohou být různé - s obtížnými dílčími dotazy a spojeními. Myslím, že server může dokončit všechny zdroje, pokud bude tyto řádky "streamovat" pouze tehdy, když je klient požádá.