Einzelnen Beitrag anzeigen

MasterDetail

Registriert seit: 6. Sep 2016
8 Beiträge
 
#1

Beeinflussung von RowSetSize durch Öffnen anderer FDQuery

  Alt 6. Sep 2016, 16:19
Datenbank: MySQL/MariaDB • Version: 10.1.13 • Zugriff über: FireDAC
Hallo,

Ich habe auf einer FDQuery(22k Records) die Eigenschaft RowSetSize unter FetchOptions auf 50 gesetzt
und den Mode entsprechend auf "fmOnDemand" gesetzt.

Diese FDQuery wird bei OnActivate eines Formulars geöffnet.
Wenn ich nach dem Öffnen der Query einen Haltepunkt setze, sehe ich bei den überwachten Ausdrücken mit "Table.RecordCount" auch die entsprechende Anzahl von 50 Datensätzen.
Alles in Ordnung soweit.

Jedoch muss nun, ohne darauf näher einzugehen, aufgrund bestimmter Rahmenbedingungen eine zweite FDQuery geöffnet werden.
Sobald die zweite FDQuery(1 Record) geöffnet wird, dauert es erstmal ungewöhnlich lange,
und PLOPP, auf der ersten FDQuery wurde, aus unersichtlichen Gründen, ein FetchAll ausgeführt, und die vollen 22.000 Records wurden heruntergeladen.
Somit habe ich keine Möglichkeit, die Eigenschaft RowSetSize und fmOnDemand ohne größere Umwege zu gehen zu nutzen.

Zur Info: Ich verwende Delphi 10 Seattle. Die zwei Queries befinden sich zusammen in einem von mehreren Datamodulen.
Die beiden Tabellen haben auf dem Server jeweils mind. 1 Primärschlüssel, KEINE Fremdschlüssel.
Die Tabellen stehen keineswegs in Relation. Das EINZIGE was diese Queries gemeinsam haben, ist die FDConnection die sie verwenden.
Ich habe testweise eine andere FDQuery geöffnet, es trat der gleiche Effekt auf.

Könnte das an einer Eigenschaft liegen, die in der FDQuery oder in der FDConnection festgelegt ist?
Könnt ihr das nachproduzieren?

Vielen Dank,
MasterDetail
  Mit Zitat antworten Zitat