Performance verbessern: Unterschied zwischen den Versionen
Zeile 12: | Zeile 12: | ||
usw. | usw. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== 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 22. Februar 2013, 23:01 Uhr
Inhaltsverzeichnis
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.