Hi,
Ich muss sehr oft abfragen, wie viele Zeilen in einer Tabelle vorhanden sind.
Nun habe ich aber gelesen, dass das sehr langsam ist. Und man sollte das mit dem Befehl COUNT machen:
Fragst du die Daten immer so ab? D.h., du stellst den eigentlichen Query nur, wenn dir die vorherige Prüfung mit COUNT(id) einen positiven Wert erbracht hat?
Dann kannst du dir das IMHO sparen, da es zwischen dem zurückgeben einer leeren Ergebnismenge (Query 1) und dem Berechnen von COUNT(*) = 0 keinen relevanten Zeitunterschied geben sollte. Wenn du tatsächlich Ergebniszeilen zurückbekommst, dann musst du diese ja sowieso aus der DB abholen, also kannst du dir die COUNT-Query sparen.
Etwas anders wäre es, wenn du den COUNT-Query signifikant anders/schneller gestalten kannst. Dann kann es passieren, dass das vorteilhaft ist.
Allgemein kann ich dir nur den Rat geben, das im Einzelfall auszutesten.
Bis die Tage,
Matti