![]() |
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. |
Re: zu langsamer Tabellenzugriff
welche Datenbank?
|
Re: zu langsamer Tabellenzugriff
InterBase
|
Re: zu langsamer Tabellenzugriff
Moin...
Ich habe da einen Verdacht... benutzt du eine Query? bis denne... |
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. |
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... |
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... |
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; |
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. |
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