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

Doctrine Query за намиране на общия брой резултати в MySQL с LIMIT

Има функция за пагинация, която е вградена в 2.2 и прави нещо подобно на това, което търсите:

https://www.doctrine -project.org/projects/doctrine-orm/en/latest/tutorials/pagination.html#pagination

Но не вярвам, че използва SQL_CALC_FOUND_ROWS :прави две (или три, в зависимост от това как го конфигурирате) отделни заявки, за да получите резултатите и това често е правилният начин да продължите.

Ако наистина настоявате да използвате функцията MySQL, мисля, че трябва да използвате необработен SQL и съпоставяне на набор от резултати. Ето един пример:

Брой редове в доктрина 2

На напълно отделна бележка проверете дали SQL_CALC_FOUND_ROWS всъщност си струва да се използва за вашата конкретна заявка. Броят е добре оптимизиран в MySQL за заявки като тази, която правите. Вижте този въпрос по-специално:

Кое е най-бързо? SELECT SQL_CALC_FOUND_ROWS ОТ `таблица` или SELECT COUNT(*)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Съхраняване на промени в обекти:MySQL правилното решение ли е?

  2. Запазване на данни в PHP / Mysql с вградена редакция в CKEditor

  3. Как да получа идентификатора на ред, който току-що вмъкнах php/mysql

  4. Кой е най-лесният начин да извлечете начални и крайни дати на спринт от JIRA db?

  5. Docker-compose проверява дали mysql връзката е готова