Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi zu langsamer Tabellenzugriff (https://www.delphipraxis.net/9697-zu-langsamer-tabellenzugriff.html)

mojo777 1. Okt 2003 22:50


zu langsamer Tabellenzugriff
 
hallo,
meine tabelle lässt dich mit ca 400 datensätzen sehr langsam scrollen und ständig kommt eine verzögerung auf, sogar bei scrollen.
die tabelle weist recht viele (ca 6) lookup felder auf.
wie kann ich den zugruff schneller machen, bzw. das scrollen optimieren?

ich benutze sql mit select x,y,z from a where a=b order by x

danke im voraus.

Leuselator 1. Okt 2003 23:46

Re: zu langsamer Tabellenzugriff
 
welche Datenbank?

mojo777 2. Okt 2003 06:57

Re: zu langsamer Tabellenzugriff
 
InterBase

Tonic1024 2. Okt 2003 07:13

Re: zu langsamer Tabellenzugriff
 
Moin...

Ich habe da einen Verdacht... benutzt du eine Query?

bis denne...

tazmania 2. Okt 2003 07:56

Re: zu langsamer Tabellenzugriff
 
Kann das sein ds du die Query jedes mal (pro scroll) neu absetzt?
...und ich denke das 400 Datensätze kein Proble sein kann wenn ein Index fehlen würde.

Hinweis:
Wenn du ein SELECT erstellst und dabei sind Spalten in der WHERE- Klausel vorhanden die keinen Index haben, kann dies unter Umständen sehr lange dauern. Ich denke dies geschieht wenn du mehrere 1000 Datensätze hast.

Tonic1024 2. Okt 2003 08:09

Re: zu langsamer Tabellenzugriff
 
Moin Taz...

Ich habe ja die Vermutung, dass da garkeine Query im Spiel ist... :-D

Gut ich weiß es nicht, aber es gibt ja viele Möglichkeiten daten aus einer Datenbank zu holen. und wohl noch viel mehr sie anzeigen und durchscrollen zu lassen... und dann noch Unidirektional und bidirektional beachten etc...

@Mojo

Sollte ich Recht haben, versuchs mal mit einer Query. Ich kenne das Phänomän von SQLTabellen über SQLConection ohne Query. Funzt bestens, bis man anfängt luxus haben zu wollen (scrollen) :lol:

Bis denne...

Billa 2. Okt 2003 08:52

Re: zu langsamer Tabellenzugriff
 
Hallo mojo777,

ME ist Lookup generell recht langsam und außerdem werden je nach Zugriff auf die Tabellen unnötig viele Daten zum Client übertragen. Versuch mal folgende Schritte:

1. Deine Lookups durch ein SQL-Statement zu ersetzen (Stichwort INNER JOIN bzw. OUTER JOIN, je nach Bedarf).

2. Packe dieses Statement in eine STORED PROCEDURE und hole Dir

3. das Ergebnis mit Hilfe einer Query in Deine Applikation.

Das überträgt nur die wirklich benötigten Daten. Dann ist das Browsen auch deutlich schneller...

Garby 2. Okt 2003 10:28

Re: zu langsamer Tabellenzugriff
 
Ich glaub dein Problem ist, dass die Query beim Öffnen nicht alle Datensätze vom Server Streamt.
Bei einigen Query-Komponenten gibt es dafür eine Eigenschaft "LoadAllRecords" oder ähnliches.
Wenn diese Eingenschaft nicht existiert kannst du es mit dieser "Krücke" auch probieren:
Delphi-Quellcode:
with Query1 do begin
  Close;
  //Parameter setzen
  Open;
  Last;
  First;
end;

mojo777 2. Okt 2003 10:48

Re: zu langsamer Tabellenzugriff
 
HOHO! :-D
Danke für die vielen tipps!
Ich werde mich dann im verlauf des tages ans ausprobieren machen.
Eine query benutze ich schon.
Diese läuft aber über die komponente IBDataSet (ist das wichtig?)

Und ich glaube ich sollte mir SQL genauer angucken... ich kenne anscheinend immer noch ncith alle befehöe :wall:

danke nochmals.

mojo777 2. Okt 2003 23:26

Re: zu langsamer Tabellenzugriff
 
oh ich habe soeben gesehen, dass es ca 12.000 zeilen sind..... das dürfte das problem wohl erklären... muh. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:09 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-2025 by Thomas Breitkreuz