Klaus Mock: Sauber planen oder Performance verbraten?

Beitrag lesen

Hallo,

Nein, das ist eine Abfrage. Diese Abfrage kostet Zeit, typischerweise alles andere als das fünffache einer Einzelabfrage, wahrscheinlich nur marginal mehr als diese. Zusätzlich Zeit kostet die Verbindung mit der Datenbank (falls erforderlich) und das Absetzen der Query. Die Abfrage durchläuft eventuell nochmals den Optimierer - all das kann zusätzlich Zeit kosten.

... Nicht zu vergessen der Aufwand den das Umsetzen des Programmcodes in die Datenbank (Db-Scnittstelle der Programmiersprache, Umsetzung ins (Netzwerk)-Protokoll der DB, Übertragen zum DB-Server, Parsen im Server) und den ganzen Weg zurück ins Progamm. Normalerweise sind Dinge, die vollkommen in der Datenbank ablaufen daher ungleich schneller, weil eben diese ganze Umsetzungs/Konvertierungsarbeit entfällt.

Noch ein Tipp: Ich kenne zwar mySQL nicht wirklich, aber in der Regel gibt es noch ein Optimierungspotential, wenn man mit sog. Bind-Variablen auch in Abfragen arbeitet, da der Optimizer bei wiederholter verwendung einer Abfrage diese nicht immer neu auswerten (Stichwort: prepare) muss.

Grüße
  Klaus