Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#52

Re: ClientDataSet - wie kann man Indizes verwenden?

  Alt 31. Jan 2009, 16:00
Hallo,

also meine Firebird-DBs sind so ~ 300MB.
Richtig ist, dass kein Nutzer alle Datensätze ansehen will,
geschweige denn bearbeiten.

Ich benutze zur Anzeige allerdings ein aufgemotztes TStringGrid,
das DBGrid mag ich nicht besonders. Es fummelt mir zu viel mit eigenen Queries rum.
Das kann man übrigens schön im Kosch "Client-Server DB Entwicklung mit Delphi" nachlesen.

Dort steht z.B., dass das DBGrid die Daten sowohl mit Order By XXX als
mit Order Desc By XXX anholgt.
Unter Firebird muss also auch ein Desc-Index existieren.

Ausserdem holt sich das DBGrid nicht alle Daten auf einmal (BDE-Query als Dataset),
sondern arbeitet mit BookMarks.

Ein ClientDataSet holt sich aber immer alle Daten, wenn eine Tabelle als CommandText verwendet wird.
Man kann aber auch eine Query bentzen, die hat nicht alle Datensätze liefert.

Ein ClientDataSet hält die Daten übrigens im Arbeitsspeicher.
5 Mio. Datensätze, wird es da nicht etwas eng ??

Ich würde als kostenlose Lösung mal ZEOS ausprobieren.


Heiko
Heiko
  Mit Zitat antworten Zitat