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.