![]() |
Datenbank: MySQL • Version: 5.5.28 • Zugriff über: Devart DBExpress
Abfrage von großen Datenmengen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Zusammen,
sobald ich eine Abfrage starte, welche mehr als ca. 20 000 Datensätze zurückliefert läuft mein Arbeitsspeicher voll und die Exception "Nicht genügend Speicher für diese Operation" wird ausgegeben. Des Weiteren habe ich noch eine Master/Detail-Beziehung Der Master (Mandant) hat 8 Datensätze, je nach Master gibt es unterschiedliche Buchungen(Detail).
Code:
Sobald ich die innerhalb des Masters scrolle, ändert sich ja auch der Details (was gewünscht ist), doch bei einer größeren Anzahl kommt die obengenannte exeception.
+-----------+-------------------+
| Mandant | Anzahl Buchungen | +-----------+-------------------+ |!01 | 11000 | |!02 | 30000 | |!03 | 40000 | |!04 | 523624 | |!05 | 10000 | |!06 | 10000 | |!5 | 10000 | +-----------+-------------------+ Hat jemand eventuell eine Idee wie das Problem gelöst werden kann. Viele Grüße und vielen Dank im Voraus Christian P.S.: Das Projekt sowie ein Backup der MySQL-Daten sind angehängt |
AW: Abfrage von großen Datenmengen
20.000 Datensätze. Hier die Frage wieder: Wer schaut sich dies direkt an?
Mit welchen Compilereinstellungen ist die Anwendung erstellt? Mit maximalen Debug-Infos? |
AW: Abfrage von großen Datenmengen
Also 20.000 Datensätze ist noch das kleinste, aber wer des anschauen will keine Ahnung. Ist glaub für ein komplettes Geschäftsjahr.
Ja die Anwendung wurde mit den maximalen Debug-Infos kompiliert. Auch den Debug-DCUs. Muss ich es irgendwie anders kompilieren? Viele Grüße Christian |
AW: Abfrage von großen Datenmengen
zum einen, wäre es nicht sinnvoller gleich eine Datei als Ausgabe zu generieren? (Excel)
Ohne Debug-Info ist die Exe etwas kleiner und man etwas mehr Platz. Ggf. wäre es sinnvoll einen readonly-cursor zu verwenden (falls definierbar) oder den Cursor auf dem Server zu verwenden (falls es geht) Gruß K-H |
AW: Abfrage von großen Datenmengen
Verwendest Du ClientDataSets?
Dann werden alle Abfragedaten darin (im Speicher) verwaltet. Insofern eignet sich DBExpress nicht unbedingt für solche größeren Rückgabemengen von Abfragen. (soweit meine Einschätzung als DB-Laie) |
AW: Abfrage von großen Datenmengen
Jein. Ich nutze zwei TSimpleDataSet und eine TSQLConnection mit dem Devart Treiber MySQL Direct. Das TSimpleDataSet erbt ja vom TCustomClientDataSet.
Gibt es keine Komponenten für Read-Only zugriffe, da ich die Daten NUR lesen will und nicht wieder wo anderes hin speichere oder manupuliere möchte. Zitat:
Grüße |
AW: Abfrage von großen Datenmengen
Zitat:
Gruß K-H |
AW: Abfrage von großen Datenmengen
Wenn du als Query eine TSQLQuery meinst, dann nicht.
Sorry dass ich gerade nicht verstehe was du meinst. :) |
AW: Abfrage von großen Datenmengen
Ich wollte mir dein Projekt mal ansehen, aber ich glaube dein MySQL Backup ist nicht vollständig, kann das sein?
In der Datei stehen nur zwei Tabellen: Buchungen und email Im Quellcode verweist du aber auf die Tabelle Mandant?! |
AW: Abfrage von großen Datenmengen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz