Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Sql-Anfrage mit WHERE langsamer als ohne trotz Index?

  Alt 21. Mai 2005, 10:58
Wenn der SQL-Parser und Interpreter auch nur ansatzweise die Prämisse erfüllen will, halbwegs brauchbar zu sein, sollte er denn doch erkennen, das der Ausdruck "name < 'S%'" mit einem Index wesentlich schneller verarbeitet werden kann, weil der Ausdruck einem "name < 'T'" entspricht. Mein Interpreter jedenfalls kann das.

Aber, ich denke mal, das dBase-Teil (ADS?) ist einfach zu einfach gestrickt, um das zu erkennen. Ich würde mich mal mit FireBird oder der MSDE auseinandersetzen. Ich bevorzuge die MSDE aus Gewohnheit, habe aber über FireBird nur Gutes gehört.

Abhilfe: Wenn das Laden denn schnell geht, dann filtere doch selbst. Es gibt reichlich Klassen für reguläre Ausdrücke oder Wildcard Patternmatching. Dann schreibst Du einen kleinen OnFilter-Event für dein Dataset und fertig. Das sollte doch schnell genug gehen.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat