Autor Beitrag
Leto
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98

XP
D7 Enterprise
BeitragVerfasst: Sa 12.08.06 00:00 
Hallo,

Ich verwende (gezwungermaßen) eine Access-Datenbank, genauer eigentlich nur eine Tabelle, in der etwas über 4 Millionen Datensätze enthalten sind. Über einen Clienten werden eigentlich nur Abfragen (keine Manipulationen) vorgenommen und angezeigt.

Mit Hilfe der Indizierung in Access selber ist eine Abfrage (mit beliebigen Suchkriterien) innahlb der Acces-GUI auch flott unterwegs. Doch über die Verbindung im Cienten dauert das schonmal schreckliche 10 bis 20 Sekunden (nicht die Anzeige, sondern nur die Abfrage). Dabei dauert es umso länger, je mehr Treffer auf das Suchkriterium passen... Mir schwant also, es könnte am befüllen des DataTable liegen.

Meine Frage nun wäre, on ich das ganze irgendwie falsch angepackt habe, oder wo es effizente Möglichkeiten zu beschleunigung gibt.

Ich steure die Verbindung über OleDbConnection, an der ein OleDbCommand hängt, an dem ein OleDbDataAdapter hängt. Als "DatenContainer" nutze ich eine DataTable:

ausblenden Quelltext
1:
2:
3:
cmd.CommandText = ...
table.Clear();
adapter.Fill(table);

_________________
Carpe Noctem