AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Next; benötigt bei Zeos viel zu lange...
Thema durchsuchen
Ansicht
Themen-Optionen

Next; benötigt bei Zeos viel zu lange...

Ein Thema von Teekeks · begonnen am 29. Mär 2011 · letzter Beitrag vom 3. Apr 2011
Antwort Antwort
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#1

Next; benötigt bei Zeos viel zu lange...

  Alt 29. Mär 2011, 15:51
Datenbank: Firebird • Version: 7 • Zugriff über: Zeos
Hallo!
Ich habe ein großes Problem (welch Wunder )
Und Zwar habe ich eine Firebird-Datenbank auf die ich mittels Zeos zugreife.
Jetzt habe ich das Problem dass wenn ich das Ergebniss einer Abfrage wie gewohnt mit
Delphi-Quellcode:
Query.First;
while not EOF do
begin
  //mach was
  Query.Next;
end;
das Next bei etwa 180 Datensätzen entsetzliche 11 Sekunden Insgesamt benötigt.
Dass ist mir viel zu viel.

Die Tabelle auf die er Zugreift hat folgende Felder:
7x Smalint
1x Bigint
1x Varchar(255)
1x blob sub_type 0

In den Blob werden auch nur momentan ca 40Byte rein gespeichert.

Noch als Info: Ich nutze Lazarus.

Jetzt ist meine frage: was kann ich verbessern? Warum braucht das next so lange? (alles andere benötigt nur wenige ms)
Liegt das an dem Blob? (ist mein erstes ^^)

Gruß Teekeks
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.658 Beiträge
 
Delphi 12 Athens
 
#2

AW: Next; benötigt bei Zeos viel zu lange...

  Alt 29. Mär 2011, 15:58
Wird es schneller, wenn Du das BLOB-Feld einmal in der Abfrage weglässt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von HeikoAdams
HeikoAdams

Registriert seit: 12. Jul 2004
Ort: Oberfranken
661 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Next; benötigt bei Zeos viel zu lange...

  Alt 29. Mär 2011, 15:59
Werden insgesamt oder in jeden Blob 40GB geschrieben? Auf jeden Fall wäre bei dieser Datenmenge ein Index für die Tabelle keine schlechte Idee
Jeder kann ein Held werden und Leben retten!
Einfach beim NKR oder der DKMS als Stammzellenspender registrieren! Also: worauf wartest Du noch?
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Next; benötigt bei Zeos viel zu lange...

  Alt 29. Mär 2011, 16:15
@Heiko: nur 40 Byte nicht GigaByte ^^
@DeddyH: Ja, Tatsächlich...
Aber: ich benötige dieses Blob.
Was läuft da falsch?
Ich habe das Gefühl das wir der Sache näher kommen...
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.658 Beiträge
 
Delphi 12 Athens
 
#5

AW: Next; benötigt bei Zeos viel zu lange...

  Alt 29. Mär 2011, 16:24
Die Frage ist: brauchst Du zur Abfragezeit wirklich alle BLOBS? Falls Du diese in einem DBGrid anzeigst, dann doch sicher nicht. In dem Falle würde ich das BLOB-Feld von der Abfrage ausschließen und erst bei Bedarf (Anzeige der Detaildaten) abfragen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Teekeks

Registriert seit: 19. Okt 2008
Ort: Dresden
765 Beiträge
 
FreePascal / Lazarus
 
#6

AW: Next; benötigt bei Zeos viel zu lange...

  Alt 29. Mär 2011, 16:38
Ich zeige das ganze nicht in einem DB-Grid dar, sondern verarbeite dabei diese selber von Hand.
Und ich benötige dabei wirklich alle Blobs (ist ja auch nur eines pro Datensatz, dass sollte nun wirklich mal möglich sein bei einem so mächtigen System mal eben 40 Byte je Datensatz zu lesen, selbst mein VarChar ist da größer...).
Peter
"Div by zero Error" oder auch: "Es geht auch ohne Signatur!".
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Next; benötigt bei Zeos viel zu lange...

  Alt 29. Mär 2011, 16:59
Ich hab mir mal sagen lassen, daß für BLOBs ziemlich viel Treibergymnastik notwendig ist.
(Langsam aber geht)
Muß es denn ein BLOB sein?

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  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 19:55 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