Performance verbessern: Unterschied zwischen den Versionen
Zeile 29: | Zeile 29: | ||
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: | ||
− | * RAM-Speichern: Geben Sie dem Datenbank-Server so viel | + | * RAM-Speichern: 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. |
+ | * 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 [http://de.wikipedia.org/wiki/Hashtabelle Hashtabellen] aufbauen, in denen sie sich immer wiederkehrende Abfragen merken. | ||
+ | ** Eine Datenbank darf maximal 10 GB groß sein (in 2008 R1 nur 4 GB). | ||
+ | |||
* 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. | ||
=== Client, Rechner === | === Client, Rechner === |
Version vom 22. Februar 2013, 23:57 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 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 Server
Vereinfacht gesagt, kann man die Performance eines Datenbank-Servers verbessern durch diese Maßnahmen:
- RAM-Speichern: 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).
- Nutzen Sie neuere Hardware, die z.B. SATA benutzt.