Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Performanceverbesserungen, Diagnosen und Monitoring » Tipps zum Verbessern der Performance

 

Angemessene Seitengröße verwenden

Die Seitengröße, die Sie auswählen, kann sich auf die Performance der Datenbank auswirken. Große bzw. kleine Seitengrößen haben sowohl Vor- als auch Nachteile.

SQL Anywhere versucht, Seiten so weit wie möglich anzufüllen. Leerer Speicherplatz nimmt nur dann zu, wenn neue Objekte zu groß sind, um in den leeren Platz auf vorhandenen Seiten zu passen. Daher wirkt sich ein Anpassen der Seitengröße nicht unbedingt signifikant auf die Gesamtgröße Ihrer Datenbank aus.

Es wird dringend empfohlen, beim Wählen einer Seitengröße die Performance zu prüfen (ebenso wie andere Aspekte). Danach wählen Sie die kleinste Seitengröße, die zufriedenstellende Ergebnisse liefert. Es ist wichtig, dass eine korrekte und angemessene Seitengröße gewählt wird, wenn Sie vorhaben, mehrere Datenbanken auf demselben Server zu starten.

Kleinere Seiten enthalten weniger Informationen und führen daher zu einer weniger effizienten Speichernutzung, v.a. wenn Zeilen eingefügt werden, die etwas größer als eine halbe Seite sind: Kleinere Seitengrößen allerdings ermöglichen es, dass SQL Anywhere mit weniger Ressourcen laufen kann, weil mehr Seiten in einem Cache mit derselben Größe gespeichert werden können. Kleine Seiten sind nützlich, wenn Ihre Datenbank auf einem kleinen Computer mit beschränktem Speicher ausgeführt wird. Sie können auch sinnvoll sein, wenn Ihre Datenbank hauptsächlich zum Abrufen von kleinen Informationseinheiten von nicht zusammenhängenden Speicherorten verwendet wird.

Größere Seiten helfen SQL Anywhere, Datenbanken effizienter zu lesen. Sie sind meistens auch bei großen Datenbanken nützlich, und bei Abfragen, die sequenzielle Table-Scans durchführen. Häufig ermöglicht es das physische Design von Plattenspeichern, dass wenige große Blöcke effizienter als viele kleine abgerufen werden. Ein weiterer Vorzug großer Seitengrößen ist es, dass die Auffächerung Ihrer Indizes verbessert wird, wodurch die Anzahl der Indexebenen vermindert und es Tabellen ermöglicht wird, mehr Spalten zu enthalten. Falls Sie eine größere Seitengröße wählen, sollten Sie auch die Cachegröße erhöhen, da sonst nur eine geringere Zahl der großen Seiten in den Cache passt. Wenn Ihr Cache nicht genügend Seiten aufnehmen kann, wird die Performance leiden, da der Datenbankserver beginnt, häufig benutzte Seiten auf den Plattenspeicher auszulagern.

Größere Seitengrößen bringen zusätzliche Speicheranforderungen mit sich. Überdies sind extrem umfangreiche Seiten (16 kB oder 32 kB) für die meisten Anwendungen nicht zu empfehlen, außer Sie sind sich sicher, dass jederzeit ein großer Datenbankserver-Cache verfügbar ist.

Die Speicherbeanspruchung des Datenbankservers ist proportional zur Anzahl der geladenen Datenbanken und zur Seitengröße der Datenbanken. Es wird dringend empfohlen, dass Sie die Performance testen (und sonstige Tests durchführen), wenn Sie eine Seitengröße wählen. Danach wählen Sie die kleinste Seitengröße (>= 4 kB), die zufriedenstellende Ergebnisse liefert. Es ist wichtig, dass eine korrekte (und vernünftige) Seitengröße gewählt wird, wenn Sie vorhaben, eine große Anzahl von Datenbanken auf demselben Server zu starten.

Es ist nicht möglich, die Seitengröße einer vorhandenen Datenbank zu ändern. Stattdessen müssen Sie eine neue Datenbank erstellen und die Option -p von dbinit verwenden, um die Seitengröße anzugeben. Der folgende Befehl erstellt zum Beispiel eine Datenbank mit 4-kB-Seiten.

dbinit -p 4096 new.db

Sie können die Anweisung CREATE DATABASE auch mit einer PAGE SIZE-Klausel benutzen, um eine Datenbank mit der neuen Seitengröße zu erstellen.

SQL Anywhere erstellt für jede Tabelle eine Bitmap, welche die Position jeder Tabellenseite in der kompletten DBSpace-Datei reflektiert. Der Datenbankserver verwendet die Bitmap, um große Blöcke (64 kB) von Tabellenseiten anstelle von einzelnen Seiten zu lesen. Diese Effizienz, die auch als Gruppenlesevorgang bezeichnet wird, reduziert die Gesamtzahl der I/O-Vorgänge auf der Festplatte und verbessert die Performance. Benutzer können die Kriterien des Datenbankservers für die Erstellung oder Verwendung von Bitmaps nicht beeinflussen.

 Seitengröße und Indizes
 Gestreute Lesevorgänge
 Siehe auch