Hallo zusammen,
wie öffne ich Tabellen, die sehr groß sind? Ich verwende TADOs und
MySQL 5.1
ODBC. Mein Programm frag täglich ein Laufwerk ab und wertet die dort abgespeicherten Dateien aus. Es funktioniert so lange die Tabelle klein ist. Jetzt, wo ich ca. 8.000.000 Datensätze in einer Tabelle eingespielt habe, so steigt mein Programm bei öffnen der Connection aus:
Delphi-Quellcode:
ADOTable1.Open;
DateienverarbeitenClick(sender);
saveMemo(Memo_Verzeichnis);
ADOTable1.Close;
Früher hatte ich alle Tabellen (verwende insgesamt 8 Tabellen) beim Programmstart geöffnet, da stieg mein Programm bei ca. 6.000.000 Datensetzen verteilt auf die 8 Tabellen. Also dachte ich mir, dass ich zur bestimmten Zeit nur eine Tabelle geöffnet haben darf/kann. Das tue ich jetzt, aber ab 8.000.000 funktioniert es auch nicht mehr.
Ich habe 2GB
RAM und eine Auslagerungdatei von 8192MB. Bei Öffnent der Tabelle steigt die
RAM-Nutzung auf 1.4GB, es verbleibt noch ausgelagerter
RAM frei, "Physikalischer Speicher (KB) => verfügbar" geht gegen 0, es wird ausgelagert und dann kommt der Abbruch:
"der odbc-treiber unterstützt die angeforderten eigenschaften nicht"
Ich habe bereits den CursorLocation auf clUseServer umgestellt. Das hatte ein wenig gebracht. Ich konnte von ca. 6.000.000 auf 8.000.000 die "Öffnungsgreze" hochsetzen.
Was kann ich den jetzt tun? Es gibt doch Möglichkeit bei
MySQL nicht über einen
ODBC-Treiber zu gehen? Irgendwie native Treiber, oder?
Danke
Kef