In aller Regel ist es so, dass komplexere
SQL-Abfragen deutlich schneller sind, als
mehrere einfache Abfragen.
Vorallem verdichtete Ergebnisse mit SUM(), MIN(), MAX(), COUNT() und GROUP BY benötigen weniger Zeit, als wenn man alle Datensätze anfordert und die Summen in der Anwendung ausrechnet.
Die höchste Performance erhält man dann, wenn man für jedes Problem eine eigene maßgeschneiderte Abfrage hat. (
maßgeschneidert heisst: man ruft nur die Felder und Datensätze ab, die man wirklich braucht. kein SELECT * FROM)
Natürlich müssen alle Indizies vorhanden sein, damit das
DBMS die Abfragen effiziert durchführen kann.
Allerdings erschweren viele maßgeschneiderte Abfragen, dass man die Datenbank strukturiell einfach erweitern oder verändern kann.
==> Verlagerung von "Arbeit" von der Anwendung zur Datenbank erhöht die Performance aber erschwert die Entwicklung und Portabilität