Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TQuery oder TTable? (https://www.delphipraxis.net/105602-tquery-oder-ttable.html)

Bernhard Geyer 27. Dez 2007 12:39

Re: TQuery oder TTable?
 
Zitat:

Zitat von PaulJr
Ist das jetzt gang und gäbe hier, dass die BDE Benutzer als Verflucht gelten?

Sind sie das nicht? :gruebel:

Zitat:

Zitat von PaulJr
Unser junger Freund hat hier scheinbar ganz einfache Frage gestellt und noch keine richtige Antwort bekommen (falls solche überhaupt auf diese Frage gibt?)

Es wurden mehrere Fragen gestellt und einige habe ich beantwortet.

Zitat:

Zitat von PaulJr
Das, dass Mehrheit der Anwendungen die mit Datenbanken zu tun haben Pflege und Ausbau von schon bestehenden Anwendungen sind … scheint hier kaum jemanden zu interessieren.

Doch. Jedoch ist BDE nur noch für Anwendungen die den "End of Life" erreicht haben zu akzeptieren. Bist du bei einer Firma solltest du dir Gedanken machen wenn die Hauptanwendung auf BDE setzt aber keine Alternativen (andere DB-Zugriffsschicht, neue Produkte) entwickelt werden. Ansonsten könnte es passieren das in der Geschäftsleitung eh schon die Entlassung der Entwickler dieser Abteilung geplant ist wenn man gar nix mehr verkauft.

Zitat:

Zitat von PaulJr
Ich benutze beides (auch BDE), allerdings kommen bei mir TTable seltener zum Einsatz. Ob sie deswegen schlechter sind weiß ich nicht.

Kommt auf die Verwendung drauf an. Wir haben ein andere Desktop-DB im Einsatz und dort ist bei einfachen Abfragen die Verwendung der Table-Komponenten mit Ranges um einiges schneller als parametrisierte Select-Abfragen. Für richtige SQL-Server gibts eh nur parametrisierte Select-Abfragen da hier die Table-Funktionalität mit schlechter performance simuliert wird.

Svenkan 27. Dez 2007 12:54

Re: TQuery oder TTable?
 
Ich umgehe jetzt einfach mal die ganzen Reibereien bzgl. die BDE und frag mich mal weiter durch.^^
Auf Grund verdammt großer Datenemngen habe ich 27 Querys im Einsatz. Dies führt unweigerlich bei einer Aktualisierung zu kurzen Performance-Einbrüchen. Verschaffen mir Tables da eine Abhilfe?

Bernhard Geyer 27. Dez 2007 13:01

Re: TQuery oder TTable?
 
Zitat:

Zitat von Svenkan
Auf Grund verdammt großer Datenemngen habe ich 27 Querys im Einsatz.

Was ist "verdammt groß". Ich würde (bei unserer Anwendung) so >> 10 GB ansehn.

Zitat:

Zitat von Svenkan
Dies führt unweigerlich bei einer Aktualisierung zu kurzen Performance-Einbrüchen. Verschaffen mir Tables da eine Abhilfe?

Was meinst du damit genau (Wartecurser, ..)? Und was willst du überhaupt nach der Aktualisierung anzeigen (Gesamte Datenmenge)?

Svenkan 27. Dez 2007 14:06

Re: TQuery oder TTable?
 
Ok. :D
Für mich sind es große Datenmenge. ^^
Mit den 27 Querys lade ich aus der dbf für 5 Tage Vertretungsdaten und abwesende Lehrer/Klassen.
Das Problem ist ganz einfach, dass die Aktualisierung teilweise bis zu über 5 Sekunden dauerd und das ganz einfach viel zu lange ist. Gleichzeitig wird dabei die Prozessorauslastung in die Höhe getrieben.

mkinzler 27. Dez 2007 14:10

Re: TQuery oder TTable?
 
Eine Datenbank mit 5 Tabellen würde ich in keinesfalls als groß bezeichnen. wie sehen die Abfragen aus? Wie sind die Einstellungen?

Bernhard Geyer 27. Dez 2007 14:31

Re: TQuery oder TTable?
 
Sind auf allen Tabellen entsprechende Indize angelegt? Evtl. sind die Abfragen zu komplex und die BDE "vergisst" das sie Indize verwenden kann und einfach einen Full-Table-Scan durchführt. Dauern alle Abfragen gleich lang? Müssen alle Aktualisierungen sofort durchgeführ werden?

hoika 28. Dez 2007 17:25

Re: TQuery oder TTable?
 
Hallo,

als "Verfluchter" ;)

Benutze unter DBase/Paradox Queries nur, wenn du vorher getestet hast,
ob die Geschwindigkeit stimmt.
Jede Query wird von der bde in TTable (besser Dbi oder local sql) Befehle umgesetzt,
mal besser, mal schlechter.

Ich habe festgestellt, dass gerade joins sehr langsam sind,
bei TTable kann die Bde sehr massiv cachen,
bei joins geht das nicht mehr so einfach.

Ich würd immer mit TTable beginnen
und dann, wenn alles läuft, ein paar Sachen über TQuery versuchen
(meistens fehlt dazu aber die Zeit).


Was mich stutzig macht, ist das "Ändern".
Du versuchst doch nicht wirklich,
direkt in einer Join per Edit / Post was reinzuschreiben ???
Argzz. Nimm dazu eine separate TTable.


Heiko

Svenkan 2. Jan 2008 01:12

Re: TQuery oder TTable?
 
Hallo hoika,

zuerst einmal danke für diesen kleinen Überblick.
Ich habe auch gemerkt, dass mit Queries nix zu holen ist. Das dauerd einfach zu lange beim Umschalten des Datums (neues Filtern etc.).
Könntest du mir in der Hinsicht sagen, wie man mit Tables filtert, sortiert und so?

hoika 2. Jan 2008 09:03

Re: TQuery oder TTable?
 
Hallo,

Table.Filter:= 'Datum='+QuotedStr('1.1.2008');

oder so ähnlich -> Hilfe

Ich würde dazu aber eher SetRange benutzen,
dass hatte ich damals immer so gemacht (SetRangeStart, SetRangeEnd, ApplyRange)


Heiko

Svenkan 3. Jan 2008 01:29

Re: TQuery oder TTable?
 
Danke schonmal für deine Hilfe!
Wo kann ich denn nun die Title-Captions ändern?
Vorher mit den Queries war das kein Problem, hier aber ist es nun so, dass wenn ich z.B. über 'DBGrid -> Columns -> (...) -> Title -> Caption' mache, dann isses nach einem Close der Table wieder zurückgesetzt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:03 Uhr.
Seite 3 von 4     123 4      

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 by Thomas Breitkreuz