AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Best-Practices Datenbanken in Delphi
Thema durchsuchen
Ansicht
Themen-Optionen

Best-Practices Datenbanken in Delphi

Ein Thema von Relic · begonnen am 19. Jan 2021 · letzter Beitrag vom 1. Feb 2021
Antwort Antwort
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.029 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Best-Practices Datenbanken in Delphi

  Alt 24. Jan 2021, 13:30
Ich persönlich ziehe nicht-datensensitive Controls vor. In meinem Fall (netzwerkfähiger Terminplaner) lade ich mir die benötigten Daten in eine ObjectList. Dafür habe ich einen Server programmiert welcher die Anfrage des Clients entgegennimmt (Termin erstellen, löschen, Zeitspanne abrufen, etc.). Nur der Server kommuniziert mit der Datendank. Die Kommunikation zwischen Clients und Server geschieht ausschließlich mittels entsprechenden Objekten welche als Streams (verschlüsselt) über das Netzwerk geschickt werden. Die wenigen Berechnungen welche ich brauche mache ich dann tatsächlich in der ObjectList über entsprechende Methoden. Läuft stabil und vor allem schnell. Größere Auswertungen (Drucken bestimmter Termine etc.) mache ich am Server selbst (sehr selten benötigt) direkt über SQL.

Nur ein Beispiel: Das Anfragen und Empfangen von allen Terminen über 3 Monate (entspricht der Ansicht am Client) dauert ca. 2 Sekunden (ca. 3000 Termine). Termine erstellen, löschen etc. passiert ohne nennenswerte Verzögerung, wobei die Kommunikation mit der Datenbank mit Abstand die meiste Zeit „frisst“. Hier wären dann entsprechende Indizes zu setzen um die Zeit zu reduzieren.
Michael Kübler

Geändert von scrat1979 (24. Jan 2021 um 13:35 Uhr)
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.999 Beiträge
 
Delphi 12 Athens
 
#2

AW: Best-Practices Datenbanken in Delphi

  Alt 25. Jan 2021, 10:59
@OP
Für SQL Datenbanken sollte man immer TFDQuery benutzen.imho.
Für D-Base Artige Datenbanken(Dbase, Jet-Engine, &c. ) oder Memory-Tables ist die TfdTable komponente bestens geeignet.

[OT]
Irgendwie ist as aber schon schade, dass es keine Datenbank-Objekte gibt die keine Komponenten sind.
Ich fühle mich immer verunsichert wenn ich Datenbank-Befehle oder Queries in backgroundthreads laufen lasse.
Wenn ich Connection Objekt und Query objekt hätte wäre mir sicher auch viel wohler dabei...
Ich weiß auch nicht ob Create(nil) eine Komponente von den components und der Message loop im Hauptthread abtrennt.
[/OT]
Andreas
Monads? Wtf are Monads?

Geändert von QuickAndDirty (25. Jan 2021 um 11:12 Uhr)
  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 03:45 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