Entwickler-Ecke

Datenbanken - Locate mit ADS trotz Index langsam


hermannhass - Mo 02.02.04 12:41
Titel: Locate mit ADS trotz Index langsam
Hallo
Ich habe eine große Tabelle, benutze ADO und MS-sqlserver.
In meinem Formular benutze ich einen Ado-Dataset.
Ich habe auf dem Feld "ArtNR" einen primaren eindeutigen Index.
Curserlocation ist(muss) server und typ keyset.
Mein Locate('ARTNR',4711) dauert trotz index lange !
Wenn ich "per hand" mit sql suche ("select ... where artnr="4711") ist der Datensatz schnell da.
Eine Idee?
Danke
Hermann


DannyVapid - Mi 04.02.04 20:24

Hi Hermann,

Locate benutzt grundsätzlich eine sequentielle Suche, der Index bleibt unbenutzt. Versuchs doch mal mit FindKey


Udontknow - Do 05.02.04 12:33

Hallo!

Wie sieht dein Select-Statement aus? Holst du immer alle Datensätze? Es ist grundsätzlich besser, das SQL-Statement zu ändern, um so die Datenmenge, die zum Dataset wandert, einzuschränken.

Cu,
Udontknow