Mysql
 sql >> база данни >  >> RDS >> Mysql

Получаване на броя на резултатите, върнати от MySQL заявка с JDBC по най-ефективния начин

Създаването на отделна заявка не е добро решение (по мое мнение), тъй като сървърът ще търси редове два пъти за един набор от резултати.

За да предотврати "двойна" заявка, MySQL има функция FOUND_ROWS(), тя връща редица редове, основани за текущи условия от WHERE клауза. Това е много полезно, когато използвате LIMIT и OFFSET в заявката. Вярвам, че използването на тази функция е по-добро решение.http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_found-rows

Преди известно време бях чел, че JDBC предава редове от сървъра, но това не беше официална документация и не мога да кажа как работи в настоящето, но заявките могат да бъдат различни - с трудни подзаявки и съединения. Мисля, че сървърът може да завърши всички ресурси, ако "поточно" тези редове само когато клиентът ги поиска.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Намерете записи от една таблица, които не съществуват в друга

  2. Изпълнение на SQL скриптове в докер контейнер

  3. Стойности на полето за отметка в mysql заявка

  4. mysql заместващ знак (игнорирайте един/два знака при търсене)

  5. PDO - заявка не дава резултати