sql >> Database >  >> RDS >> Mysql

Doctrine-query om het totale aantal resultaten in MySQL te vinden met LIMIT

Er is een pagineringsfunctie die is ingebouwd in 2.2 en die iets doet wat lijkt op wat u zoekt:

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

Maar ik geloof niet dat het SQL_CALC_FOUND_ROWS . gebruikt :het doet twee (of drie, afhankelijk van hoe je het configureert) afzonderlijke query's om de resultaten te krijgen, en dat is vaak de juiste manier om verder te gaan.

Als je echt aandringt op het gebruik van de MySQL-functie, denk ik dat je onbewerkte SQL en een toewijzing van een resultaatset moet gebruiken. Hier is een voorbeeld:

Aantal rijen in Leer 2

Test op een geheel andere manier of SQL_CALC_FOUND_ROWS is eigenlijk de moeite waard om te gebruiken voor uw specifieke vraag. Count is goed geoptimaliseerd in MySQL voor vragen zoals degene die u doet. Zie deze vraag in het bijzonder:

Wat is het snelst? SELECT SQL_CALC_FOUND_ROWS FROM `table`, of SELECT COUNT(*)



  1. Ontwerp database voor categorie, subcategorie en bijbehorende boeken

  2. MySQL-updatetabel op basis van een andere tabelwaarde

  3. Verbinding maken met PostgreSQL in IRI Workbench

  4. Wanneer geërfde tabellen gebruiken in PostgreSQL?