Announcement

Collapse
No announcement yet.

Datenbankanwendung schnell ablaufen lassen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbankanwendung schnell ablaufen lassen

    Hallo,

    was kann man tun damit eine Datenbankanwendung, die schon ganz vernünftig funktioniert, schneller ausgeführt wird. Einen besseren Rechner als meinen zu benutzen wäre wohl eine Antwort. Aber gibt es Tipps, Tricks was man, wenn es möglich ist, vermeiden sollte oder was man im allgemeinen beachten muß. Es handelt sich bei meiner Anwendung um eine Desktop-Datenbankanwendung, die auf der BDE mit einer Paradoxdatenbank beruht. Das Ausmaß des Geschwindigkeitsverlustes ist wahrscheinlich dadurch entstanden, daß z.B alle ComboBox Einträge zur Laufzeit mit Werten aus der Datenbank gefüllt werden. Außerdem verwende ich an mehren Stellen notwendige Datenfilter. Danke für lehrreiche Anregungen.

    Gruss ph

  • #2
    Hallo Peter,

    wenn Du mit sehr vielen Datenzugriffen arbeitest, dann ist es sehr wichtig die Indizierung der Tabellen genau zu überlegen. Theoretisch günstig wäre es für jede Zugriffsvariante einen gezielten Index anzulegen. - Ist aber in der Praxis kaum machbar, da eine große Datenredundanz entsteht und das Pflegen der X Indizes natürlich wieder einen Geschwindigkeitseinbruch beim Schreiben von Datensätzen bringt. Außerdem wächst - gerade bei Paradox - die Gefahr von Indexfehlern. <br>
    Ich habe sehr gute Erfahrungen damit gemacht gänzlich auf Filter zu verzichten und stattdessen mit Indizes und SetRange zu arbeiten. (Ist natürlich nicht so flexibel wie ein Filter - aber schneller)<br>
    Comboboxen sind nach meiner Meinung nur sinnvoll, wenn sie nicht mehr als 20 - 30 Datensätze enthalten (ansonsten ist das Scrollen keinem Anwender zumutbar) Bei dieser Größenordnung sollte das Füllen nicht so das Problem sein. Sollen mehr Datensätze ausgewählt werden können, bin ich immer auf einen TSpeedButton und einen einfachen Suchdialog (mit TDBGrid und TEdit für Suchbegriff) ausgewichen.<br>
    Bei komplexeren Anwendungen habe ich auch immer versucht nicht alle Forms automatisch beim Programmstart erstellen zu lassen, sondern die Forms immer erst erstellt, wenn sie das erstemal benötig werden - Die teilweise lange Erstellungszeit von DB-Forms summiert sich dann nicht ewig am Anfang sondern verteilt sich etwas gleichmäßiger auf die ganze Anwendung.

    Gruß Fal
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment

    Working...
    X