Accès à la base de données · Question 10 sur 12
Pour une vue d'ensemble, seul le nombre d'entrées de la page 12 doit être compté. Quelle implémentation est la plus efficace ?
1 réponse est correcte. Moyen
Afficher la solution
Solution
- D $qb->count('uid')->from('tx_myext_item')->where($qb->expr()->eq('pid', $qb->createNamedParameter(12, Connection::PARAM_INT)))->executeQuery()->fetchOne()
Explication
count() remplace la partie SELECT par COUNT(), la base de données ne renvoie qu'un nombre, que fetchOne() lit. Charger toutes les lignes et les compter en PHP coûte de la mémoire et du temps. rowCount() n'est pas fiable pour les SELECT sur tous les systèmes de base de données, et select('COUNT(*)') protégerait l'expression comme un nom de colonne.