[linux-l] SQL, subselcts Vs. Joins

Olaf "Rübezahl" Radicke olaf_rad at gmx.de
Mo Nov 17 11:34:02 CET 2003


Am Mon, 2003-11-17 um 09.36 schrieb Steffen Dettmer:
> * Olaf "Rübezahl" Radicke wrote on Tue, Jan 21, 2003 at 07:56 +0100:
> > Viele abfragen kann man sowohl als  Subselects als auch
> > als Joins formulieren. Welches ist den nun der Vorzug zu 
> > geben?
> 
> Kommt natürlich drauf an :-) Ich denke, gerade wenn die
> Subselect-Menge groß ist und nur ne kleine Auswahl zutriff, kann
> die Datenbank einen join-Select einfacher optimieren (bzw.
> überhaupt, weiß nicht). Ich find einfache joins oft einfacher
> lesbar, ein wichtiger Grund, find ich. Wenn Performance ne Rolle
> spielt, würde ich bißchen mit verschiedenen Queries,
> Reihenfolgen und Indices etc. rumspielen, auf möglichst
> realistischen Daten natürlich. Fand ich oft überraschend, so ein
> Spielchen (z.B. "warum nimmt er meinen Index denn gar nicht?!").

Also ich spräche eine PostgeSQL-Datenbank von Python
aus an. Mit SQL (bzw. DB's) habe  ich bisher kaum Erfahrung.
Das mit den Join's hatte ich zuerst gar nicht richtig begriffen,
was man damit machen kann. Um zu testen was in meinem Fall
das beste ist, habe ich zu wenig Datensätze. Ich denke, das
ich Performance-Tests wohl zu ein späteren Zeitpunkt machen
muss. Dann kann ich auch besser sehen an welchen Abfragen
ich schrauben muss und welche irrelevant sind. 
Da Python nicht so schnell ist, wird es keine "verschiedenen 
Queries Reihenfolgen" geben, sondern immer nur eine mehr
oder weniger tief geschachtelte Abfrage. Jeder Zwischenschritt
über Python ist "teuer". 

MfG
Rübezahl

-- 
===================================================
"Meine Meinung steht fest. Bitte verwirren sie mich
nicht mit Tatsachen!"
                          Unbekannt.
===================================================





Mehr Informationen über die Mailingliste linux-l