sql >> Databáze >  >> RDS >> Mysql

Získání počtu výsledků vrácených dotazem MySQL s JDBC tím nejefektivnějším způsobem

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á.



  1. Proč v mém Listboxu dostávám System.Data.DataRowView místo skutečných hodnot?

  2. První tři skupiny s nejvyššími známkami by měly mít specifické body

  3. Zobrazte data z Custom Query (Joined Tables) v liferay vyhledávacím kontejneru

  4. Jaké jsou nejlepší možnosti přístupu k datům pro framework Play se Scala a PostgreSQL?