2016-09-29 2 views
1

Ich arbeite an Delphi XE6-Projekt. Ich benutze Firedac für PostgreSQL-Verbindung.Delphi Firedac TFDtable offene Ausgabe

Es gibt zwei Datamodule in diesem Projekt und es gibt fast 20 TFDtables-Komponenten auf diesen Datenmodulen.

Auf create Ereignis der Datenmodule ich mache "TFDtable.open" für alle Tabellen. Diese Tabellen enthalten viele Daten sagen 700000 bis 800000 Einträge.

Problem ist mit dem Laden von Daten. Es dauert mindestens 20 Sekunden, um zu laden. Gibt es einen anderen Ausweg, um es schneller zu machen?

+2

laden Sie diese große Anzahl von Zeilen nur so, dass Benutzer sie in Ihrem gui durchsuchen können? Wie auch immer, ich bezweifle, dass Sie diese Tabellen viel schneller öffnen werden. Viel besser wäre es viel selektiver zu sein, welche Datensätze Sie laden. Das ist eine Frage des Anwendungs- und Datenbankdesigns. – MartynA

+0

Wie wird 'FetchOptions.Mode' in diesen FDTables gesetzt? –

+0

Es ist fmOnDemand – poonam

Antwort

0

Es scheint, dass Sie so genannte Live Data Window Mode implementieren, und Sie suchen nach der LiveWindowFastFirst Eigenschaft. Es wird beschrieben, wie:

LiveWindowFastFirst

Wenn es auf True gesetzt ist, dann baut FireDAC eine Abfrage, um die ersten Ergebnisse so schnell wie möglich zurückzukehren. Wenn es auf False festgelegt ist (der Standardwert ), minimiert FireDAC die Zeit für die Rückgabe aller Tabellenzeilen.

So versuchen, es zu aktivieren:

... 
FDTable1.FetchOptions.LiveWindowFastFirst := True; 
FDTable1.Open; 
Verwandte Themen