Performance verbessern: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
Zeile 12: Zeile 12:
  
 
usw.
 
usw.
 
=== Datenbank-Indizes ===
 
 
Ein [http://de.wikipedia.org/wiki/Datenbankindex Datenbank-Index] ist ein Mechanismus einer Datenbank-Maschine, der bestimmte Felder (Spalten) einer Tabelle '''indiziert'''. Dadurch merkt sich der Datenbank-Server in einer speziellen internen Tabelle, welche Werte es für das ausgewählte Feld gibt. Der '''Zugriff''' auf '''bestimmte Werte''' der Tabelle wird dadurch '''wesentlich beschleunigt'''.
 
 
* Vorteil: Das '''Einlesen''' von Daten wird '''signifikant''' beschleunigt.
 
* Nachteil: Das '''Einfügen''' von Daten wird verlangsamt.
 
 
'''Das Anlegen von Indizes einer Datenbank ist eine Wissenschaft für sich!'''
 
 
Die [[REFLEX]] bzw.  [[GEVAS-Professional]] bringen bei der Neuinstallation eine Datenbank mit, in den eigentlich alle notwendigen Indizes gesetzt sind.
 
 
  
 
=== Server ===
 
=== Server ===
  
 
Vereinfacht gesagt, kann man die Performance eines Datenbank-Servers verbessern durch diese Maßnahmen:
 
Vereinfacht gesagt, kann man die Performance eines Datenbank-Servers verbessern durch diese Maßnahmen:
 +
 +
==== Hardware ====
  
 
* RAM-Speicher (Arbeitsspeicher): Geben Sie dem SQL-Datenbank-Server '''so viel Arbeitsspeicher wie möglich'''! SQL-Maschinen bauen sich im Laufe der Zeit sog. interne [http://de.wikipedia.org/wiki/Hashtabelle Hashtabellen] im Arbeitsspeicher auf. Hier merken sie sich, welche Abfragen besonders häufig vorkommen und optimieren den Zugriff darauf im Arbeitsspeicher.
 
* RAM-Speicher (Arbeitsspeicher): Geben Sie dem SQL-Datenbank-Server '''so viel Arbeitsspeicher wie möglich'''! SQL-Maschinen bauen sich im Laufe der Zeit sog. interne [http://de.wikipedia.org/wiki/Hashtabelle Hashtabellen] im Arbeitsspeicher auf. Hier merken sie sich, welche Abfragen besonders häufig vorkommen und optimieren den Zugriff darauf im Arbeitsspeicher.
Zeile 37: Zeile 27:
  
 
* Nutzen Sie neuere Hardware, die z.B. [http://de.wikipedia.org/wiki/Festplatte#SATA SATA] benutzt.
 
* Nutzen Sie neuere Hardware, die z.B. [http://de.wikipedia.org/wiki/Festplatte#SATA SATA] benutzt.
 +
 +
==== Datenbank-Indizes ====
 +
 +
Ein [http://de.wikipedia.org/wiki/Datenbankindex Datenbank-Index] ist ein Mechanismus einer Datenbank-Maschine, der bestimmte Felder (Spalten) einer Tabelle '''indiziert'''. Dadurch merkt sich der Datenbank-Server in einer speziellen internen Tabelle, welche Werte es für das ausgewählte Feld gibt. Der '''Zugriff''' auf '''bestimmte Werte''' der Tabelle wird dadurch '''wesentlich beschleunigt'''.
 +
 +
* Vorteil: Das '''Einlesen''' von Daten wird '''signifikant''' beschleunigt.
 +
* Nachteil: Das '''Einfügen''' von Daten wird verlangsamt.
 +
 +
'''Das Anlegen von Indizes einer Datenbank ist eine Wissenschaft für sich!'''
 +
 +
Die [[REFLEX]] bzw.  [[GEVAS-Professional]] bringen bei der Neuinstallation eine Datenbank mit, in den eigentlich alle notwendigen Indizes gesetzt sind.
 +
  
 
=== Client, Rechner ===
 
=== Client, Rechner ===

Version vom 23. Februar 2013, 00:01 Uhr

1 Allgemeines

Dieser Artikel ist noch in Bearbeitung

Dieser Artikel beschreibt, mit welchen Maßnahmen man die Performance des Programms verbessern kann.

2 Was ist Performance

Als Performance bezeichnet grob gesagt man die Zeit, die ein Programm benötigt, um eine bestimmte Aufgabe zu lösen, z.B.

  • Wie schnell wird ein bestimmter Auftrag gefunden
  • Wie schnell wird die Verbuchung einer Auftragsposition durchgeführt

usw.

2.1 Server

Vereinfacht gesagt, kann man die Performance eines Datenbank-Servers verbessern durch diese Maßnahmen:

2.1.1 Hardware

  • RAM-Speicher (Arbeitsspeicher): Geben Sie dem SQL-Datenbank-Server so viel Arbeitsspeicher wie möglich! SQL-Maschinen bauen sich im Laufe der Zeit sog. interne Hashtabellen im Arbeitsspeicher auf. Hier merken sie sich, welche Abfragen besonders häufig vorkommen und optimieren den Zugriff darauf im Arbeitsspeicher.
  • Verwenden Sie ein 64-Bit-Betriebssystem, das mehr als 3 GByte Speicher nutzen kann.
  • Wenn Sie den "MS SQL Server 2008 R2 Express" verwenden, beachten Sie die Einschränkungen des "MS SQL Server 2008 R2 Express":
    • Es wird nur ein Prozessor bzw. ein Prozessorkern verwendet: Das ist nicht so schlimm, weil die CPU eines SQL-Servers meist "gelangweilt" ist.
    • Die Express-Edition nutzt maximal 1 GB Arbeitsspeicher: Das ist schon eine wesentliche Einschränkung! SQL-Server "leben" von RAM-Speicher. Wenn Sie nicht genug davon haben, können Sie keine internen Hashtabellen aufbauen, in denen sie sich immer wiederkehrende Abfragen merken.
    • Eine Datenbank darf maximal 10 GB groß sein (in 2008 R1 nur 4 GB): Die wenigsten Kunden werden dieses Limit erreichen.
  • Nutzen Sie neuere Hardware, die z.B. SATA benutzt.

2.1.2 Datenbank-Indizes

Ein Datenbank-Index ist ein Mechanismus einer Datenbank-Maschine, der bestimmte Felder (Spalten) einer Tabelle indiziert. Dadurch merkt sich der Datenbank-Server in einer speziellen internen Tabelle, welche Werte es für das ausgewählte Feld gibt. Der Zugriff auf bestimmte Werte der Tabelle wird dadurch wesentlich beschleunigt.

  • Vorteil: Das Einlesen von Daten wird signifikant beschleunigt.
  • Nachteil: Das Einfügen von Daten wird verlangsamt.

Das Anlegen von Indizes einer Datenbank ist eine Wissenschaft für sich!

Die REFLEX bzw. GEVAS-Professional bringen bei der Neuinstallation eine Datenbank mit, in den eigentlich alle notwendigen Indizes gesetzt sind.


2.2 Client, Rechner