sql >> Base de Datos >  >> RDS >> Mysql

Laravel elocuente withCount() se supone que es más lento que solo with()

La diferencia es que le está pidiendo a mysql que cuente cada fila en su declaración en lugar de simplemente volcarla. El punto de withCount no es que sea más rápido, es mejor en la memoria si todo lo que necesita es un conteo.

Por ejemplo, tengo una relación con miles de elementos ricos en datos. Si solo uso un con y luego trato de contar los resultados, php se quedará sin memoria. Alguna vez tendré la oportunidad de hacer el conteo. Si uso withCount, solo se devuelve un elemento que me dice cuántos elementos hay, por lo que no hay impuestos sobre la memoria php, pero todo el trabajo se realiza en el servidor sql.