Einzelnen Beitrag anzeigen

Keflock

Registriert seit: 23. Nov 2006
17 Beiträge
 
Delphi 2007 Enterprise
 
#1

MySQL, 8.000.000 DatenS., Tabelle öffnen => der odbc-trei

  Alt 17. Nov 2008, 13:04
Datenbank: MySQL • Version: 5.1 • Zugriff über: ODBC / ADO
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
  Mit Zitat antworten Zitat