![]() |
Geschwindigkeitsprobleme beim Aktualisieren
Hallo,
ich verspüre derzeit krasse Geschwindigkeitsprobleme beim Aktualiseiren der Tabellen mit SQL. Ich benutze momentan sql.close; und sql.Open; gibt es bessere Möglichkeiten? Es werden SQL-Parameter an die SQL_QUERY übergeben
Delphi-Quellcode:
Hier ist der (fast) komplette code:
(sqltable.ParamByName('EAN').Value:='12345';)
kommt wenn man btn_refresh anklickt:
Delphi-Quellcode:
Danke für Eure Hilfe.
dmData.QRY_LIEFERUNGEN.Active:=False;
dmData.QRY_LIEFERUNGEN.Close; dmData.QRY_LIEFERUNGEN.ParamByName('EAN').Value:=dmData.ibProdukte_FilteredEAN.AsString; dmData.QRY_LIEFERUNGEN.Open; dmData.QRY_LIEFERUNGEN.Active:=True; |
Re: Geschwindigkeitsprobleme beim Aktualisieren
Führe die Query mal ohne den ganzen DB-Kompo-Krams aus.
Ich denke da liegt das Problem, oder aber der Cache deiner DB wurde etwas knapp bemessen (sie kann die Ergebnismenge nicht im Cache halten). Standardfrage #13: Welche DB benutzt du? |
Re: Geschwindigkeitsprobleme beim Aktualisieren
Delphi-Quellcode:
if key=#13 then
begin return:='interbase'; end; |
Re: Geschwindigkeitsprobleme beim Aktualisieren
Mit DB-Kompo-Krams meinte ich DataSource & Co.
p.s.: Das mit der DB tut mir leid... ( :mrgreen: ) |
Re: Geschwindigkeitsprobleme beim Aktualisieren
Liste der Anhänge anzeigen (Anzahl: 1)
aso...
Bufferchunks steht auf 1000 äähmmmm ich habe hier mal ein screenshot beigefügt... guck ihn dir mal an.. vielleicht ist da was bei,was du meinst.. :roll: |
Re: Geschwindigkeitsprobleme beim Aktualisieren
Die von mir gemeinten Einstellungen muss man an der DB selbst vornehmen (Frag's Pferd ob es das bei IB gibt).
Im Normalfall sind die Standardwerte schon ziemlich OK. Meine Frage war aber seit dem ersten Post, ob es nur so langsam ist, wenn eine DataSource & diese ganzen DB-Kompos (DBEdit, DBGrid,...) dranhängen. Edit: verkehrt formuliert, aber richtig verstanden worden :zwinker: |
Re: Geschwindigkeitsprobleme beim Aktualisieren
Zitat:
bei mir hängt ein Grid dran.... :( |
Re: Geschwindigkeitsprobleme beim Aktualisieren
....sogar ein ibTable.Locate(); dauert bis zu 10 sekunden.... AAAARGHH!!!
WAS KANN DAS SEIN??? :wall: |
Re: Geschwindigkeitsprobleme beim Aktualisieren
hallo, läuft deine db lokal oder im netz?
|
Re: Geschwindigkeitsprobleme beim Aktualisieren
lokal... das ist ja das schlimme!
|
Re: Geschwindigkeitsprobleme beim Aktualisieren
der zugriff über BDE?
schau mal hier ![]() vielleicht ist dort dei Problemlösung mit dabei? raik |
Re: Geschwindigkeitsprobleme beim Aktualisieren
nein, über interbase komponenten.
-- der fehler ist aber erst seit heute morgen da... ich habe ihn gemerkt, als ich das programm auf einem anderen computer laufen lassen hab. ich dachte schon, dass wieder der celeron spinnt oder sowas... aber nein.. kann das vielleicht sein, dass die gdb datei beschädigt ist??? :freak: also ich weiss echt nicht mehr, wo ich was suchen soll..... es muss an der gdb liegen... ich werde gleich eine ähnliche erzeugen (leer) und versuchen sie mir paar werten zu füllen. mal gucken was dann passiert.... |
Re: Geschwindigkeitsprobleme beim Aktualisieren
hane link editiert siehe oben
raik |
Re: Geschwindigkeitsprobleme beim Aktualisieren
ok. werde ich dann mal tun.
danke. |
Re: Geschwindigkeitsprobleme beim Aktualisieren
Entscheidend ist, ob auf dem Feld EAN ein Index liegt oder nicht. :warn:
Falls ja, dauert die Abfrage unter 0.5 Sekunden; falls nein, dauert es wesentlich länger, weil die gesamte Tabelle durchsucht werden muss (Full Table Scan). Übrigens: Datenmenge.Active := False; ist das Gleiche wie Datenmenge.Close; In deinem Fall wird also doppelt gemoppelt. Ausserdem: Anstatt die Datenmenge zu schliesen und erneut zu öffnen, könnte der Aufruf von Refresh oder Requery deutlich schneller sein.
Delphi-Quellcode:
dmData.QRY_LIEFERUNGEN.ParamByName('EAN').Value:=dmData.ibProdukte_FilteredEAN.AsString;
if dmData.QRY_LIEFERUNGEN.Active then dmData.QRY_LIEFERUNGEN.Requery else dmData.QRY_LIEFERUNGEN.Open; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 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