AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi zu langsamer Tabellenzugriff
Thema durchsuchen
Ansicht
Themen-Optionen

zu langsamer Tabellenzugriff

Ein Thema von mojo777 · begonnen am 1. Okt 2003 · letzter Beitrag vom 3. Okt 2003
Antwort Antwort
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#1

zu langsamer Tabellenzugriff

  Alt 1. Okt 2003, 23:50
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.
Muh macht die kUh
  Mit Zitat antworten Zitat
Benutzerbild von Leuselator
Leuselator

Registriert seit: 18. Mär 2003
Ort: Berlin
589 Beiträge
 
Delphi 8 Architect
 
#2

Re: zu langsamer Tabellenzugriff

  Alt 2. Okt 2003, 00:46
welche Datenbank?
Tim Leuschner
  Mit Zitat antworten Zitat
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#3

Re: zu langsamer Tabellenzugriff

  Alt 2. Okt 2003, 07:57
InterBase
Muh macht die kUh
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#4

Re: zu langsamer Tabellenzugriff

  Alt 2. Okt 2003, 08:13
Moin...

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

bis denne...
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
tazmania

Registriert seit: 26. Sep 2003
14 Beiträge
 
#5

Re: zu langsamer Tabellenzugriff

  Alt 2. Okt 2003, 08:56
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.
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#6

Re: zu langsamer Tabellenzugriff

  Alt 2. Okt 2003, 09:09
Moin Taz...

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

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)

Bis denne...
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von Billa
Billa

Registriert seit: 11. Aug 2003
237 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

Re: zu langsamer Tabellenzugriff

  Alt 2. Okt 2003, 09:52
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...
Gruß Billa

Nur weil ich paranoid bin, heißt das nicht, daß die da draussen nicht hinter mir her sind....
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#8

Re: zu langsamer Tabellenzugriff

  Alt 2. Okt 2003, 11:28
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;
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#9

Re: zu langsamer Tabellenzugriff

  Alt 2. Okt 2003, 11:48
HOHO!
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

danke nochmals.
Muh macht die kUh
  Mit Zitat antworten Zitat
mojo777

Registriert seit: 10. Sep 2003
402 Beiträge
 
#10

Re: zu langsamer Tabellenzugriff

  Alt 3. Okt 2003, 00:26
oh ich habe soeben gesehen, dass es ca 12.000 zeilen sind..... das dürfte das problem wohl erklären... muh.
Muh macht die kUh
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:08 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz