AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi bde schneller als firebird
Thema durchsuchen
Ansicht
Themen-Optionen

bde schneller als firebird

Ein Thema von sancho1980 · begonnen am 18. Mai 2006 · letzter Beitrag vom 19. Mai 2006
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#1

bde schneller als firebird

  Alt 18. Mai 2006, 10:57
Datenbank: firebird • Zugriff über: ibx, ibexpert
nochmal ne andere frage:

bin dabei eine db-anwendung, die auf bde und paradox basiert, für firebird umzuschreiben

außerdem gibs dazu noch ne kleine software, die dann die datenbanken ins neue format konvertiert..jetzt hab ich mir mal testweise eine ziemlich große datenbank im alten format (mit zufallswerten) generieren lassen und sie ins neue format konvertiert und dann nach einträgen gesucht und dabei fällt auf, dass die suche unter der bde merklich schneller geht (ok, die datenbankstruktur ist im neuen format auch etwas komplexer aber die direkte suche nach indizierten feldern sollte das ja nicht beeinträchtigen, oder)

woran kann denn das liegen, is das normal?

achsoo: firebord als lokaler server

danke

martin
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: bde schneller als firebird

  Alt 18. Mai 2006, 11:00
Wie ist dein Code für den Firebird-Zugriff (Beispiel)? Methoden die bei BDE bzw. lokalen DB's schnell sind sind u.U. bei SQL-Datenbanken nicht optimal.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: bde schneller als firebird

  Alt 18. Mai 2006, 11:11
hast Du mal versucht, mit anderen Komponenten (z.B. ZEOS) auf deinen FB zuzugreifen.
Die ibexpert-Sachen sind nicht allzu optimiert.

hast du firebird als Server laufen oder als embedded?
bei einem direkten Vergleich zu BDE solltest du embedded wählen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#4

Re: bde schneller als firebird

  Alt 18. Mai 2006, 11:15
net erschrecken: das ist eine terminologiedatenbank..sucht man nach einem bestimmten asterm, dann wird sicherheitshalber (falls der asterm nicht enthalten ist) auch der vorgänger und soviele nachfolger geholt, bis 20 datensätze insgesamt da sind..asterm ist indiziert, ebenso wie sämtliche fremdschlüssel...(hier suche nach asterm 'peter'):
SQL-Code:
select * from (
      select * from (
            select d.id, d.asterm, d.asabk, d.asprgm, d.assem, d.zsterm, d.zsabk, d.zsprgm, d.zssem, d.datum, d.proj, d.rev, d.upddatum, d.asdef, d.zsdef, d.asaudio, d.asvideo, d.asabbildung, d.zsabbildung, d.zsaudio, d.zsvideo, asmain.asterm as asverw, zsmain.zsterm as zsverw, a.aut as aut, ua.aut as updaut, aslit.qcode as asqcode, zslit.qcode as zsqcode from dicentries d left join dicentries asmain on d.asverw = asmain.id left join dicentries zsmain on d.zsverw = zsmain.id left join aut a on d.aut = a.id left join aut ua on d.updaut = ua.id left join lit aslit on d.asqcode = aslit.id left join lit zslit on d.zsqcode = zslit.id where d.asterm < 'peterorder by asterm descending rows 1
               )
      union
      select d.id, d.asterm, d.asabk, d.asprgm, d.assem, d.zsterm, d.zsabk, d.zsprgm, d.zssem, d.datum, d.proj, d.rev, d.upddatum, d.asdef, d.zsdef, d.asaudio, d.asvideo, d.asabbildung, d.zsabbildung, d.zsaudio, d.zsvideo, asmain.asterm as asverw, zsmain.zsterm as zsverw, a.aut as aut, ua.aut as updaut, aslit.qcode as asqcode, zslit.qcode as zsqcode from dicentries d left join dicentries asmain on d.asverw = asmain.id left join dicentries zsmain on d.zsverw = zsmain.id left join aut a on d.aut = a.id left join aut ua on d.updaut = ua.id left join lit aslit on d.asqcode = aslit.id left join lit zslit on d.zsqcode = zslit.id where d.asterm = 'peter'
      union
      select * from (
            select * from (
                  select d.id, d.asterm, d.asabk, d.asprgm, d.assem, d.zsterm, d.zsabk, d.zsprgm, d.zssem, d.datum, d.proj, d.rev, d.upddatum, d.asdef, d.zsdef, d.asaudio, d.asvideo, d.asabbildung, d.zsabbildung, d.zsaudio, d.zsvideo, asmain.asterm as asverw, zsmain.zsterm as zsverw, a.aut as aut, ua.aut as updaut, aslit.qcode as asqcode, zslit.qcode as zsqcode from dicentries d left join dicentries asmain on d.asverw = asmain.id left join dicentries zsmain on d.zsverw = zsmain.id left join aut a on d.aut = a.id left join aut ua on d.updaut = ua.id left join lit aslit on d.asqcode = aslit.id left join lit zslit on d.zsqcode = zslit.id where d.asterm > 'peterorder by asterm ascending rows 20
                     )
               )
         ) order by asterm ascending rows 20
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: bde schneller als firebird

  Alt 18. Mai 2006, 11:18
also wenn deine Abfrage so kompliziert ist, solltest Du vielleicht mal das DB-Design überdenken...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#6

Re: bde schneller als firebird

  Alt 18. Mai 2006, 11:19
Zitat:
hast du firebird als Server laufen oder als embedded?
Du meinst, ob ich firebird als service oder als application laufen habe?
beim firebird service control steht "as a service"
wieso beeinträchtigt das die geschwindigkeit von suchen?
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: bde schneller als firebird

  Alt 18. Mai 2006, 11:20
OK. Immerhin schon SQL und nicht mit Locate oder ähnlichen gearbeitet.

Wie sind denn die Zeiten?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: bde schneller als firebird

  Alt 18. Mai 2006, 11:24
Zitat von sancho1980:
Zitat:
hast du firebird als Server laufen oder als embedded?
Du meinst, ob ich firebird als service oder als application laufen habe?
beim firebird service control steht "as a service"
wieso beeinträchtigt das die geschwindigkeit von suchen?
der firebird-Server hat sicher andere Antwortzeiten als die embedded Version (nur DLL im Projekt eingebunden).
Die BDE ist am ehesten mit der embedded Version des Firebird vergleichbar.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
sancho1980

Registriert seit: 7. Feb 2006
429 Beiträge
 
#9

Re: bde schneller als firebird

  Alt 18. Mai 2006, 11:25
also es gibt in tabelle dicentries so etwa 100000 einträge...bei der bdedauert die suchen nen augenaufschlag...unter firebird so 3 sekunden...also schon noch zu verkraften aber eben langsamer
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: bde schneller als firebird

  Alt 18. Mai 2006, 11:29
wie verwendest du denn die Suche in der BDE?
mit TTables, TDataste, TQuery oder wie?

lass doch mal Quellcode der Suche für BDE und der Suche für Firebird sehen...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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:06 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