Acceso a la base de datos · Pregunta 10 de 12
Para una vista general solo debe contarse el número de entradas de la página 12. ¿Qué implementación es la más eficiente?
1 respuesta es correcta. Medio
Mostrar solución
Solución
- D $qb->count('uid')->from('tx_myext_item')->where($qb->expr()->eq('pid', $qb->createNamedParameter(12, Connection::PARAM_INT)))->executeQuery()->fetchOne()
Explicación
count() sustituye la parte SELECT por COUNT(); la base de datos solo devuelve un número, que fetchOne() lee. Cargar todas las filas y contarlas en PHP cuesta memoria y tiempo. rowCount() no es fiable para SELECT en todos los sistemas de base de datos, y select('COUNT(*)') entrecomillaría la expresión como nombre de columna.