Einzelnen Beitrag anzeigen

Drumbo

Registriert seit: 18. Okt 2013
22 Beiträge
 
#1

Programmstart dauert lange

  Alt 22. Jan 2015, 07:47
Datenbank: Sql Server 2012 • Version: 11 • Zugriff über: Rad Studio XE5
Guten Morgen

Ich habe ein Programm geschrieben, welches auf diverse Tabellen einer SQL Datenbank zugreift.
Die Daten werden den dbFeldern und dbGrids über AdoDatasets und den zugehörigen DataSources zur Verfügung
gestellt.
Nun muss ich festellen, dass der Programmstart sich bei steigenden Datenbankeinträgen auch mehr und mehr verzögert.
Ich gehe schwer davon aus, dass es daran liegt, dass Daten direkt beim Start geladen werden.
Daraufhin hab ich nun alle DataSets erst dann auf Active gesetzt wenn ich diese auch wirklich brauche und die
SQL Abfrage soweit eingeschränkt wie es geht, um nicht unnötige Daten zu laden. Anscheinend ist das aber nicht des
Rätsels Lösung, denn mein Programm startet immer noch langsam. Wenn es ersteinmal geladen ist, läuft es super, jedoch würde ich
gerne die Performance steigern. Ich vermute, dass die einzelnen DataSets bereits dann eine Verbindung herstellen, wenn die Unit Erstellt wird. Dies geschieht ja bereits, wenn das Main_Form seine uses Einträge durchgeht und die dort enthaltenen Units erstellt werden.

Die Eigenschaften der Datasets einfach nur "Active = True " zu setzen wenn ich das Formular öffne welches die Daten braucht und"Active=False " zu setzen wenn ich sie nicht mehr brauche, hat nicht das gewünschte Ergebnis gebracht.

Wo würdet ihr die Datenbanken auf Active bzw. inactive setzen? Bringt das überhaupt was?
Wenn ich sie in den jeweiligen Units in die OnCreate Procedure schreibe, dann gibts direkt ne Zugriffsverletzung.

Danke schon mal im Voraus.
Gruß Drumbo

Geändert von Drumbo (22. Jan 2015 um 08:30 Uhr)
  Mit Zitat antworten Zitat