Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   SQL optimieren (https://www.delphipraxis.net/190308-sql-optimieren.html)

jobo 22. Sep 2016 19:14

AW: SQL optimieren
 
Zitat:

Zitat von p80286 (Beitrag 1348513)
Ja, hast Du Recht, mache ich auch so. Das war der etwas schlampige Versuch zu betonen, dass es bei diesem Verfahren nicht unbedingt auf das Feld ankommt


@naphets: Die Lösung find ich auch ok, ich würde meinen Erfahrungen nach allerdings meine Version für "besser"/schneller halten. Die gelten aber eigentlich nicht für große Mengen an Firebirddaten.
Letztlich zählt, was der Optimizer des jeweilgen DB Systems draus macht.

Meine Strategie wäre letztlich, Menge Tabelle 1 soweit wie möglich eindampfen (mglw über inneres Select), dann Ergebnis mit T2 joinen und Join Feld auf Null in T2 prüfen. Grundsätzlich Indizes beleuchten, in dem Fall hier ggF. durchforsten. Und mal einen kombinierten Index über beide Felder ausprobieren. Hab letzlich keine nennenswerte Erfahrung mit dem FB Optimizer.

p80286 22. Sep 2016 21:31

AW: SQL optimieren
 
Zitat:

Zitat von jobo (Beitrag 1348518)
Letztlich zählt, was der Optimizer des jeweilgen DB Systems draus macht.

Jo, so isses. Meiner Erfahrung nach ist das "not exists" dann schnell wenn wenige Datensätze in T1 sind. Je mehr Datensätze in T1, desto eher ist die "left join..is null" schneller.
Diese Erfahrungen habe ich vor allem mit Oracle gemacht und "schneller" bewegt sich im (zehntel)sekunden-Bereich. Das beste wird sein die verschiedenen Vorschläge aus zu probieren.

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:44 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz