![]() |
Datenbank: PSQL • Version: 10 • Zugriff über: FireDAC
Performance-Problem
Hallo.
Ich habe mehrere FDQuerys in meiner Anwendung, die alle auf dieselbe FDConnection zugreifen. FDQuery1 greift auf Tabelle1 mit 100000 Datensätzen zu (natürlich werden schrittweise nur 50 geladen). FDQuery2 greift auf Tabelle2 mit sehr wenig Datensätzen zu und hat keinerlei Verbindung zu Tabelle1. Im FDQuery2 will ich ein Post machen, aber das dauert ewig. Verbinde ich aber FDQuery2 mit einer neuen FDConnection, dann geht der Post-Vorgang schnell. Kennt jemand dieses Phänomen? Woran liegt das? Was könnte man tun? Danke |
AW: Performance-Problem
Kann es sein, dass die vielen Datensätze in der Zeit noch nachgeladen werden? Was passiert, wenn du deine Anwendung eine Weile laufen lässt und dann die zweite Abfrage machst?
|
AW: Performance-Problem
Ich tipp mal drauf das du Serverseitigen Curser nutzt und keinen "dirty read".
D.h. das Schreiben der Daten sorgt erstmal dafür das auf Serverseite deine 100.000 Datensäzte soweit "gesichert" werden, das eine Veränderung durch Schreibaktionen ausgeschlossen werden. Auch wenn das jetzt eine andere Tabelle ist. Weiß nicht ob hier die Implementierung auf Serverseite das soweit erkennt und hier noch weiter Optimierungen eingebaut sind. Was kann man tun: Keine Serverseitigen Curser nutzen und nicht mit 100.000 Ergebnisdatensätze in einer Query arbeiten. |
AW: Performance-Problem
Satt getrennte Connection zu verwenden genügen wahrscheinlich getrennte Transactions.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:29 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