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 2 von 4     12 34      
sancho1980

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

Re: bde schneller als firebird

  Alt 18. Mai 2006, 12:34
ttables kommen da zum einsatz
quelltext hab ich grad nicht parat aber das war da über "gotonearest" (ich glaub so hieß die procedure) gemacht...
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#12

Re: bde schneller als firebird

  Alt 18. Mai 2006, 12:41
Hi,

verwende zum Zugriff auf Firebird (V1.5 setzt Du hoffentlich ein) nicht mehr unbedingt die IBX. Die tun zwar, aber....

Verwende entweder die UIB (haben allerdings ne schlechte Oberflächenanbindung) oder die MOD (noch nicht getestet) oder gleich ein kommerzielles Produkt wie die FIBPlus.

Wenn Du das Tabellendesign vernünftig gemacht hast, dann installier den FB-Server auf einem anderen Rechner, wenn das nicht geht schau zu dass die Datenbank (also das *.fdb File) auf einer anderen Festplatte auf deinem Rechner liegt, da solltest Du dann schon nen Geschwindigkeitsvorteil spüren, wobei ein eigener Server sicherlich Sinn machen würde.

Desweiteren solltest Du die TTable Komponente ganz schnell vergessen. Verwende für die Abfrage eine TIBDataset oder was vergleichbares (TIBQuery bitte auch nicht!).

Das war das wichtigste mal in Folge. Du wirst sicherlich noch viele Ecken finden, wo Deine Software langsamer ist als mit der BDE, aber das musst Du dann eben verbessern, sei es mit StoredProcedures, anderen Abfragen, Indizes,...

Grüße
Lemmy
  Mit Zitat antworten Zitat
sancho1980

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

Re: bde schneller als firebird

  Alt 18. Mai 2006, 16:33
Zitat:
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.
wie muss ich mir den unterschied zwischen server und embedded vorstellen?
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
 
#14

Re: bde schneller als firebird

  Alt 18. Mai 2006, 16:38
Zitat von sancho1980:
wie muss ich mir den unterschied zwischen server und embedded vorstellen?
geh doch auf die Homepage vom Firebird und lies das dort nach...
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
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#15

Re: bde schneller als firebird

  Alt 18. Mai 2006, 16:49
Siehe hier, TTable ist die typische BDE-DAU-Klickibunti-Komponente.
Kein SQL, keine gefilterte Ergebnismenge, keine Performance, ...
Wenn die BDE bei TTable nicht schneller gewesen wäre wäre irgendwas kaputt.
Bei Paradox wirst du die ganze Tabelle direkt von der Datei in den Speicher laden. Das musst du da immer, deshalb sollte man annehmen, dass Borland dafür gesorgt hat, dass es halbwegs schnell geht.
Ein SELECT * ist in einem (poststeinzeitlichen) serverbasierten DBMS eher eine krasse Ausnahme. Solche System sind darauf optimiert Teilmengen zu finden und an den Client zu übertragen.
3 Sekunden für solch eine krasse Abfrage sprechen eindeutig für FB: Viele (auch teure) DBMS hätten das sicher länger gebraucht. (natürlich andere auch 10-mal weniger ).
Alleine das SELECT * & UNION zeugt deutlich von "wie gates ohne dass ich groß drüber nachden muss?"
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: bde schneller als firebird

  Alt 18. Mai 2006, 16:52
Welche Indices hast du für df FB-Datenbank angelegt?
Markus Kinzler
  Mit Zitat antworten Zitat
sancho1980

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

Re: bde schneller als firebird

  Alt 18. Mai 2006, 16:52
Zitat:
geh doch auf die Homepage vom Firebird und lies das dort nach...
das hatte ich schon aber da hab ich nur in diesem quick-start-guide die information gefunden:

Zitat:
The non-server Windows platforms – Windows 95, 98 and ME – do not support services. The installation
will start Firebird server as an application, protected by another application known as the Guardian.
If the server application should terminate abnormally for some reason, the Guardian will attempt
to restart it.
So wie ich das verstehe, haben die die Sache mit Application gemacht, damit Firebird auch auf älteren Windows-Versionen läuft. Aber schlauer werd ich daraus nicht: Sowohl ein Service als auch eine Anwendung sind doch einfach mal ein Prozess, nur dass ein Service eben ständig die Lauscher aufhält, falls einer von außen eine Anfrage macht - womit mir unklar wäre, was das mit Application soll und überhaupt, warum das schneller sein sollte (hab's mal getestet, ist tatsächlich ein µ schneller, kommt aber an die BDE-Variante immer noch nicht heran...
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
sancho1980

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

Re: bde schneller als firebird

  Alt 18. Mai 2006, 17:04
Zitat:
Wenn die BDE bei TTable nicht schneller gewesen wäre wäre irgendwas kaputt.
Nein, ich hab in der neuen Version natürlich TIBDataSet verwendet.

Zitat:
Alleine das SELECT * & UNION Shocked zeugt deutlich von "wie gates ohne dass ich groß drüber nachden muss?"
Das muss so sein. Der Anwender sucht beispielsweise nach einem Terminus in der Datenbank, und soll 20 zurück bekommen (ich soll bei dem Projekt unbedingt das DBGrid beibehalten). Zugegeben, es sind KOMPLETTE Datensätze, aber eben nur 20. Ich meine, was hier so viel Zeit in Anspruch nimmt, kann ja wohl nur die Suche sein und nicht nicht die Übertragung von 20 lausigen (wenn auch kompletten) Datensätzen, und eben darum geht's mir: warum FINDET die BDE das schneller?
Um Rekursion zu verstehen, muss man zunächst Rekursion verstehen.
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#19

Re: bde schneller als firebird

  Alt 18. Mai 2006, 17:10
Moin, moin

Ja, das kann schon sein. Spricht aber noch nicht gegen FB. Paradox ist für relativ einfache SQL-Strukturen eine flotte Lösung. Und da kein Umweg über TCP/IP genommen wird, sind auch keine Synchronisationszeiten in diesem Berich vorhanden. Zudem beherscht FB einen wesentlich größeren Befehlssatz und Funktionen wie die Transaktionskontrolle, was auch Zeit nimmt. Da ist bei Paradox einfach Ende. Arbeitet man mit komplexeren Where-Sttements in Queries, dann geht aber auch Paradox deutlich in die Knie, den das Ergebnis wird komplett auf Festplatte zwischengespeichert (Dateien im tmp-Verzeichnis) und das Dauert dann.

Paradox ist nicht schlecht. Probleme treten aber bei der gleichzeitigen Verwendung mehrere BDE-Anwendungen auf, da es hier schonmal zu Synchronisationsproblemen kommen kann. Hier liegt der Grund für den Entwicklungsstop der BDE.

FAZIT: Die Umstellung ist letzlich trotzdem der richtige Weg.


Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#20

Re: bde schneller als firebird

  Alt 18. Mai 2006, 19:56
Das Fazit von Martin stimmt. Es nützt aber nichts, die DB falsch anzulegen. Ich sehe einen BIBU also Insert UND Update-Trigger mit sage und schreibe 50 Zeilen, die alle mit OR verknüpft sind. D.h.: alles muß abgearbeitet werden. Und das soll jetzt als Vergleich zur BDE dienen ? Wie ist so ein Trigger damit überhaupt hinzukriegen ? Ein Vergleich zwischen Äpfel und Birnen ist normal. Hier handelt es sich aber eher um einen Vergleich zwischen Mücke und Elefant auf 3 Beinen.
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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