Autor Beitrag
Felix2000
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 124



BeitragVerfasst: Mo 23.01.12 16:12 
Hi Folks !

Ich stehe gerade vor der Frage, wann genau eine korrelierte Unterabfrage in einem DBMS wirklich einen Sinn macht und wann man eher zu einer nicht korrelierten Unterabfrage greifen sollte, also eine Unterabfrage, die man für sich auch alleine ausführen könnte.

Ich verstehe diese Grundsatzentscheidung ncoh nicht so ganz, wann wirklich mal die eine- oder die andere Unterabfragenart relevant sein könnte. Angeblich sollen die korrelierten Unterabfrage aus performancesicht nicht so toll sein, wie gesagt, dass habe ich mal gehört.

Greetz
Felix
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 23.01.12 16:28 
Zitat:
Ich stehe gerade vor der Frage, wann genau eine korrelierte Unterabfrage in einem DBMS wirklich einen Sinn macht


Abfragedauer eins SQL ist keine exakte Wissenschaft (außer du kennst alle relevanten Parameter des Zielsystems die man aber eigentlich nie kennen kann) als das man das eindeutig vorhersagen könnte. Erstmal solltest du die Version nehmen die sich von der Funktionalität am ehesten anbietet und dann wenn du in ein Performanceproblem läufst die Alternative(n) ausprobieren.
Felix2000 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 124



BeitragVerfasst: Mo 23.01.12 16:41 
Hallo Ralf !

Vielen Dank für die Antwort. Ich muss aber gestehen, dass ich jetzt genauso schlau bin, wie vorher...

Greetz
Felix
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mo 23.01.12 16:52 
Du hast auf eine allgemeine Frage eine genauso allgemeine Antwort bekommen. Mehr ist nicht wirklich möglich außer das jetzt jemand eine spezielles Beispiel angibt unter dem die eine Version schneller wahr als die anderer. Hilft dir aber überhaupt nicht weiter da die Wahrscheinlichkeit das dein konkretes Problem vergleichbar ist gegen 0 geht. Das einzige was dir hilft wäre die verschiedene Alternativen an einem konkreten Problem auszuprobieren und ein Gefühl dafür zu entwickeln was wann schneller sein könnte.