Mysql
 sql >> Database >  >> RDS >> Mysql

Doctrine Query per trovare il numero totale di risultati in MySQL con LIMIT

C'è una funzione di impaginazione, che è incorporata in 2.2, e fa qualcosa di simile a quello che stai cercando:

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

Ma non credo che usi SQL_CALC_FOUND_ROWS :esegue due (o tre, a seconda di come lo configuri) query separate per ottenere i risultati, e questo è spesso il modo corretto di procedere.

Se insisti davvero nell'usare la funzione MySQL, penso che tu debba usare SQL grezzo e una mappatura del set di risultati. Ecco un esempio:

Conteggio di righe in Dottrina 2

In una nota completamente separata, verifica se SQL_CALC_FOUND_ROWS vale davvero la pena usarlo per la tua particolare query. Count è ben ottimizzato in MySQL per query come quella che stai facendo. Vedi questa domanda in particolare:

Qual è il più veloce? SELEZIONA SQL_CALC_FOUND_ROWS DA `table` o SELEZIONA COUNT(*)