Einzelnen Beitrag anzeigen

Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#1

SQL: Left Join 30-fach langsamer wie where-Bedingung. Ist das normal?

  Alt 30. Mär 2011, 22:12
Datenbank: Pervasive • Version: V 10 • Zugriff über: PDAC
Hallo zusammen,

nach einigen Tests habe ich festgestellt, dass meine momentane Performancebremse von einer Left-Join-Bedingung kommt.
Wenn ich das Ganze in einer where-Bedingung packe ist es um Faktor 30 schneller.

Nachfolgend meine 2 (rudimentären) SQL-Statements:
SQL-Code:
//Datenmenge ist nicht richtig, da hier die Kundendatensätze NICHT enthalten sind, welche KEINE Ansprechpartner (P.Name) hinterlegt haben. Dafür aber sehr schnell
Select A.kundenname, P.Name from AdressStamm as A, Kontaktpersonen as P where P.DBAA_RECID = A.Identifikation

//Datenmenge ist richtig, aber extrem langsam (knapp über Faktor 30)
Select A.kundenname, P.Name from AdressStamm as A left JOIN Kontaktpersonen as P on P.DBAA_RECID = A.Identifikation
Da ich hier keinerlei Erfahrung habe und nicht weiß wo ich ansetzen könnte, meine Frage ob das "normal" ist.
Mache ich hier etwas grundlegendes falsch oder woran kann dieser große Performance-Unterschied liegen?

Vielen Dank schon mal für hilfreiche Hinweise!
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)

Geändert von mkinzler (31. Mär 2011 um 08:37 Uhr) Grund: SQL-Tag gefixt
  Mit Zitat antworten Zitat