Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Performance-Problem (https://www.delphipraxis.net/215932-performance-problem.html)

tob2 27. Sep 2024 08:26

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

jaenicke 28. Sep 2024 10:26

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?

Bernhard Geyer 28. Sep 2024 12:46

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.

Blup 1. Okt 2024 16:30

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