AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Jeder 60te mach Probleme!
Thema durchsuchen
Ansicht
Themen-Optionen

Jeder 60te mach Probleme!

Ein Thema von subw00fer · begonnen am 4. Sep 2003 · letzter Beitrag vom 8. Sep 2003
Antwort Antwort
subw00fer

Registriert seit: 14. Nov 2002
18 Beiträge
 
#1

Jeder 60te mach Probleme!

  Alt 4. Sep 2003, 09:04
Halli Hallo!

Die Situation sieht folgender Maßen aus:

Ich habe auf meiner Datenbank(AS400) mehrere Tabellen, auf die ich mit einem TQUERY zugreife und die Daten in ein Textfile übertrage. Mit den Schlüsseln der ersten Tabelle suche ich in einer zweiten Tabelle die gesuchten Datensatz, wobei einer ca. 460 Felder besitzt. und schreibe diesen gefundenen in die Textfile.

Nun mein Problem:

Es sind einige Tausend Sätze. Die einzelnen Abfragen(TQuery) bewegen sich im Millisekundenbereich, aber bei ca. jeden 60ten Satz benötigt das TQuery ca. 40 Sekunden. Da diese Situation sehr oft autritt brauche ich min. 30 Minuten länger und ich weiss nicht wie ich dieses Phänomen unterbinde.

Es sind nie die gleichen Datensätze die das jeweilige TQuery verzögern.

Kann mir jemand helfen?

mfg subw00fer
  Mit Zitat antworten Zitat
subw00fer

Registriert seit: 14. Nov 2002
18 Beiträge
 
#2

Re: Jeder 60te mach Probleme!

  Alt 5. Sep 2003, 06:58
Ich bins noch einmal!

Kann es sein, dass diese Abfragen den Buffer vollschreiben und nach einer gewissen Grösse wird dieser geloschen -> Zeitverzögerung?
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Jeder 60te mach Probleme!

  Alt 5. Sep 2003, 10:20
Versuch mal, stadt mit einer Query (umständlich ich weiß) die daten in einen Stream zu lesen (und schreiben). Dadurch kannst du sehen, ob dein Problem im Query oder in der Tabelle selbst liegt. Bei entsprechenden Streams kannst du von haus aus Bufferzonen mit angeben, bei mitleren DB´s ist das noch möglich und sogar schneller. Bei großen würd ich vom Speicherplatz, fehlender Index usw. davon abraten. Hab leider keinen Quellcode mehr parad, weil ich imho net mit Streams arbeite.
Marco
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Jeder 60te mach Probleme!

  Alt 5. Sep 2003, 19:15
Hallo subwOOfer,

wenn du sowieso alle Daten in ein Textfile schreibst, solltest du nach dem Öffnen der Query FetchAll aufrufen, um alle Daten der Query auf einen Schlag zu bekommen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
subw00fer

Registriert seit: 14. Nov 2002
18 Beiträge
 
#5

Re: Jeder 60te mach Probleme!

  Alt 8. Sep 2003, 07:43
Hallo!

Nocheinmal die Situation:

Ich lese den ersten Datensatz aus der ersten Tabelle und schreibe in sofort in ein Textfile. Mit einen Schlüssel vom ersten Datensatz gehe ich zur nächsten Tabelle und lese den gesuchten Datensatz aus und schreibe ihn in das Textfile, danach gehe ich zur nächsten Tabelle mit dem gleichen schlüssel,usw. Dann beginnt das Spiel von vorne mit der ersten Tabelle und den zweiten Datensatz. Nur einen Tabelle liegt dazwischen, die 460 Felder besitzt und ich muss sie(Felder) auf einmal auslesen. Es funktioniert ja auch perfekt, doch ca. jeder 60te macht Probleme.

Wenn der Buffer das Problem macht. Kann ich ihn nicht jedes mal irgendwie leeren?

P.S.:Mit Stream hab ich noch nie gearbeitet. Ich werde sie mir einmal ansehen.
  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 16:25 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