Autor Beitrag
Björn karpenstein
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 96

Windows XP, Linux
D7, K3
BeitragVerfasst: Mo 22.08.05 13:54 
Soo, ich habe eben so ne tolle Antwort bekommen, dass ich jetzt nochmal eine Frage fragen möcht :-)...

Ich habe eine Suchmaske, die ich ebenfalls mit einem SQLClientDataSet ausgestattet habe. Im Endeffekt geht es nur darum einen Artikel zu suchen, und diesen dann in eine andere Maske reinzuschreiben.

Ich setze immer

SQLClientDataSet.Active := true

Die SQL-Anweisung ist einfach:
'SELECT * From artikel WHERE bezeichnung = ' + bezeichnung;

Obwohl ich nur 4 Artikel in der Datenbank habe, dauert das öffnen knapp 5 sekunden. Lässt sich das optimieren, oder wäre es evtl. besser, wenn ich ein normales TSQLDataSet nehme?


Moderiert von user profile iconGausi: Topic aus VCL (Visual Component Library) verschoben am Mi 24.08.2005 um 11:44
rochus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416

Win XP Prof, Fedora Core 4, SuSE 7.0
D7 Ent, D2005 Pers
BeitragVerfasst: Mo 22.08.05 13:59 
Also das TClientDataSet ist wohl relativ langsam, nur mal so nebenbei ;) irgendwo im Netz gibts die TBetterClientDataSet Kompos oder wie die heißen. Selbst Borland empfielt den nutzen dieser als der hauseigenen (steht irgendwo auf nem Whitepaper im BDN).

Auf jeden fall solltest du eventuell immer nur die Dinge selektieren, die du wirklich brauchst und auch eingeschränkt. Ob das bei 4 Artikeln was bringt, weiß ich nicht. MErkwürdig ist das trotzdem. Eventuell liegts and er Verbindung zur DB?

_________________
Im Nachhinein ist man immer ein Schlauch!
"Dream as if you'll live forever, live as if you'll die today!" James Dean
Björn karpenstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 96

Windows XP, Linux
D7, K3
BeitragVerfasst: Mo 22.08.05 14:15 
Der Server läuft im Moment lokal, wie heissen diese Komponenten genau? Hab bei google nix gefunden :)
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mo 22.08.05 14:18 
Na, die Clientdatasets mögen ab und an etwas lahm sein, aber so lahm nun auch nicht. Wird eventuell die DB-Verbindung nach einem Abruf getrennt? Ähm, wie genau heisst denn nun die Klasse, die du verwendest? TClientdataset, TSQLDataset, TSimpleDataset? Ein TSQLClientDataset finde ich gar nicht...

Cu,
Udontknow
Björn karpenstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 96

Windows XP, Linux
D7, K3
BeitragVerfasst: Mo 22.08.05 14:25 
Hallo das TSQLClientDataSet ist glaube ich unter Windows (bei Delphi 7) nur im source-Verzeichnis und man muss es vorher kompilieren. Unter Kylix ist es standartmäßig installiert.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: Mo 22.08.05 14:32 
Ahso, das ist jetzt das Simpledataset. Hast du eine eigene SQLConnection zugewiesen, oder nutzt das Ding die interne Verbindung (InternalConnection)? Wenn letzteres, ist das der Grund, da immer die Verbindung zur DB erst hergestellt werden muss.

Cu,
Udontknow
Björn karpenstein Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 96

Windows XP, Linux
D7, K3
BeitragVerfasst: Mo 22.08.05 14:39 
Ich habe eine eigene SQLConnection zugewiesen. Das mit dem "Internal" kenne ich gar nicht :). Also ich musste damals den Treiber von www.crlab.com kaufen, weil es Probleme mit neueren MySQL-Versionen gab. Der funktioniert wenigstens richtig. Aber ich schätze mal es liegt am SQLClientDataSet, das dauert immer so lange wenn ich active auf true setze. Bei einem SQLDataSet geht der Zugriff ziemlich schnell.