Kess: & (MySQL) Komplizierter Query

Beitrag lesen

Hallo Michael,

Schreibe doch dieses Ergebnis in eine temporäre Tabelle und lasse Deine Schleife über diese Tabelle laufen. Vielleicht spart dies Zeit ein.

Kann mySQL views? Das wäre dann die "temporäre Tabelle" ...

Leider eben nicht. Vom Ergebnis her stimmt das schon, von der Performance her jedoch nicht. Im Gegenteil, sie wird sogar noch schlechter. Eine View wird üblicherweise in den Systemtabellen der Datenbank als SQL-Code eingetragen und erst zum Zeitpunkt des Aufrufes auch ausgeführt. Gegenüber einer temporären Tabelle würde die Teilabfrage (= View) also nicht einmal ausgeführt sondern bei jedem Zugriff erneut. (Schlaue Datenbanken mit ausgefeilten Cache-Methoden einmal ausgenommen. Dazu dürfte MySQL aber wohl nicht gehören.) Performancegewinn ist damit nicht verbunden. Eher ein kaum meßbarer Verlust durch den zusätzlichen Verwaltungsoverhead. Der SQL-Code der View muß schlließlich erst einmal aus den Systemtabellen gelesen werden. Und das geschieht bei jedem Zugriff auf die View.

Viele Gruesse
  Kess