AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi durch Tabelle navigieren langsam (.Next)
Thema durchsuchen
Ansicht
Themen-Optionen

durch Tabelle navigieren langsam (.Next)

Ein Thema von Lemmy · begonnen am 27. Jan 2012 · letzter Beitrag vom 27. Jan 2012
Antwort Antwort
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#1

durch Tabelle navigieren langsam (.Next)

  Alt 27. Jan 2012, 12:11
Datenbank: Firebird • Version: 2.1 • Zugriff über: IBObjects
Hi,

großes Projekt mit Delphi 7 und IBObjects, die Kundeninstallationen sind teilweis Embedded Server, teilweise "richtige" FBServer im Netz.

Bei manchen Kunden (bzw. bei diesen bei manchen PCs) gibt es das Problem, dass ein

Delphi-Quellcode:
  Query.First;
  while NOT Query.EOF do
    Query.Next;
  end;
seeeehr lange dauert (grob geschätzt pro Datensatz 1/4 Sekunde). Bei mir am Rechner (und den meisten anderen Rechnern) rast die gesamte Datenmenge der Query (ca. 500 Datensätze) in der Zeit durch. (hier extra der Hinweis: An dem Beispielcode ist NICHTS weggelassen - es wird nur ein Next; ausgeführt! Kein Event keine sonstigen Aktionen).

Was ich ausschließen kann:
1. Netzwerkprobleme: Da das Verhalten teilweise auch bei Embedded-Installationen auftritt
2. Anzeige der Datensätze: Auch wenn ich das an der QUery hängende DBGrid abhänge, gibts kaum einen Geschwindigkeitsvorteil, das Next dauert immer noch verdammt lange
3. generelle PC-Probleme / Installationsprobleme Firebird: Wenn ich das Beispiel oben mit den UIB nachbaue, gibts keinen Geschwindigkeitsunterschied, das Beispiel ist auf allen Rechnern gleich schnell.
3.1 Systemressourcen: In einem Netz mit unterschiedlichen PC-Konfigurationen (BS immer WIn 7 64 Bit) ist ein Client schnell, 4 Clients langsam. Der Schnelle Client hat dabei lediglich 2GByte Hauptspeicher...
4. irgend welche Abhängigkeiten der Query: TestApp mit eigener TIB_Database, Transaction, QUery mit dem COde oben, dauert wieder verdammt lange

Hat irgend jemand ne Idee was ich noch anstellen / ausschließen / eingrenzen kann?
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: durch Tabelle navigieren langsam (.Next)

  Alt 27. Jan 2012, 14:43
Nachtrag:

verflixt.... wenn ich mit der Maus aus meinem Programm raus fahre und diese dann auf den Desktop zeigt, ist die SChleife quasi sofort abgeabreitet... So ein Dreck... Ist immer reproduzierbar... Deutet das jetzt auf einen alten GraKaTreiber hin?
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#3

AW: durch Tabelle navigieren langsam (.Next)

  Alt 27. Jan 2012, 14:55
wo ist dann aber der Zusammenhang zu Punkt 2?
Gruß, Jo
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: durch Tabelle navigieren langsam (.Next)

  Alt 27. Jan 2012, 15:02
es gibt keinen... es machte keinen Unterschied ob ich das Grid nun aktiv lasse oder abschalte - wenn die Maus auf dem Form steht bzw. der Applikation, ist diese sehr langsam. WEnn ich auf einen Button klicke der die EOF-Schleife anstößt und ich dann mit der Maus von der App weg fahre, also nur als dem Fensterbereich raus auf den Desktop, schon ist das Ding fertig...
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: durch Tabelle navigieren langsam (.Next)

  Alt 27. Jan 2012, 15:25
Hast du irgendwas in OnMouseMove-Hanldern oder gar im Application.OnIdle laufen? Gerade optische Mäuse "wackeln" ab und an etwas auch im Stillstand, wodurch diese dann ggf. mehr rödeln als nötig.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: durch Tabelle navigieren langsam (.Next)

  Alt 27. Jan 2012, 15:43
Hi,

habe mit Delphi 7 eben ne neue Kleinstanwendung gemacht. IBGrid, IBConnection, Transaction und Query und einen Button - das selbe Verhalten. Keine zusätzlichen Events, handler oder sonst was definiert.


Kann leider nicht mit XE/XE2 testen, weil die IBO da nicht funktionieren (vorcompilierte DCUs mit unterschiedlichen Versionen von XYZ...)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.381 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: durch Tabelle navigieren langsam (.Next)

  Alt 27. Jan 2012, 17:03
Hier bitte zu machen und hier weiter:
http://www.delphipraxis.net/166062-d...win-7-x64.html

ist ja kein DB Problem mehr...

Danke!
  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 12:31 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