Datenbankzugriff · Frage 10 von 12
Für eine Übersicht soll nur gezählt werden, wie viele Einträge auf Seite 12 liegen. Welche Umsetzung ist am effizientesten?
1 Antwort ist richtig. Mittel
Lösung anzeigen
Lösung
- D $qb->count('uid')->from('tx_myext_item')->where($qb->expr()->eq('pid', $qb->createNamedParameter(12, Connection::PARAM_INT)))->executeQuery()->fetchOne()
Erklärung
count() ersetzt den SELECT-Teil durch COUNT(), die Datenbank liefert nur eine Zahl, die fetchOne() ausliest. Alle Zeilen zu laden und in PHP zu zählen kostet Speicher und Zeit. rowCount() ist für SELECT nicht bei allen Datenbanksystemen zuverlässig, und select('COUNT(*)') würde den Ausdruck als Spaltennamen quoten.