Thema: Delphi ADOQuery SQL String

Einzelnen Beitrag anzeigen

Robert_G
(Gast)

n/a Beiträge
 
#9

Re: ADOQuery SQL String

  Alt 17. Nov 2003, 09:46
Moin,

Also ich weiß nicht wie das mit ADOQueries abläuft da ich Direct oracle access benutze.
Aber Problem mit in den SQLString reingebastelten Werten ist, dass der Server deinen SQL Code jedesmal neu parsen muss.

'WHERE WERT1 = ' + QuotedStr(Edit1.Text)

Es ist deshalb fast immer besser Bind Variablen zu nehmen.

'WHERE WERT1 = :SearchVal'

Die musst du dann vor dem ausführen noch zuweisen und das wars.

Ich habe keine Ahnung von ADO, aber ich denke doch, dass es dort auch geht.


1. dein Code wird übersichtlicher, du kannst den SQLCode weiterbenutzen und brauchst nur den Wert der Bindvariable ändern
2. Wenn du die Abfrage ein 2. Mal stelltst hat der Server den Code schon vorkompiliert zur Verfügung


Bei einer Oracle DB und vernünftigen Speichereinstellungen wird er sogar den Inhalt der Ursprungsmenge für eine Weile im Cache lassen, so dass nur noch darin gefiltert werden muss.
Was vor allem bei komplexen/großen Abfragen einen ungeheuren Performancezuwachs bedeutet.

Das müsste eigentlich bei jeder prof. DB der Fall sein.

mfG Robert
  Mit Zitat antworten Zitat