Hallo,
ein SubSelect wird ja für jeden Datensatz der Hauptabfrage durchgeführt,
das kann halt dauern.
Ich würde was anderes Probieren (wie oben schon gesagt, Outer Joins z.B.)
Genauso ist es richtig.
Da habe ich wohl den Wald vor lauter Bäumen nicht mehr gesehen.
Die Abfragen hatte ich ja schon mit with in den Tests vorbereitet, aber dann einfach nicht daran gedacht, dass es dann mit einem Outer join ganz einfach umzubauen ist.
Was sagt der
Query-Analyser bezüglich Ausführungsplan dazu?
Wir hatten mal das Problem (bei MS
SQL Server) da hier der
Query-Analyser in einer Version Mist gebaut hat
und für relativ einfache Abfrage meinte mindestens 1 GB an
RAM zu benötigen und eine riesige Ergebnisse zu haben.
Der hat mir nur den Hinweis auf auf den Index Scan geliefert.
Faszinierend finde ich es trotzdem, dass jedes Subselect alleine kein Problem verursacht und erst die gleichzeitige Nutzung die Performance einbrechen lässt.
Ich kann jetzt zwar das Problem beheben, aber die Ursache des Phänomens kenne ich immer noch nicht.
Vielen Dank für den richtigen Schubser