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

SQL Anywhere 12.0.0 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Performance der Datenbank überwachen und steigern » Datenbankperformance steigern » Tipps zur Performance-Verbesserung » Tabellenfragmentierung reduzieren

 

Methoden zum Reduzieren der Tabellenfragmentierung

Die folgenden Methoden helfen bei der Kontrolle der Tabellenfragmentierung:

  • PCTFREE verwenden   SQL Anywhere reserviert zusätzlichen Platz auf jeder Seite, damit die Zeilen leicht anwachsen können. Wenn die Zeile aufgrund einer Aktualisierung länger wird als der ihr ursprünglich zugewiesene Platz zulässt, wird sie geteilt, und an der anfänglichen Position verweist ein Zeiger auf die Seite, auf der die gesamte Zeile gespeichert ist. Wenn beispielsweise leere Zeilen mit UPDATE-Anweisungen bzw. durch Einfügen neuer Spalten in eine Tabelle gefüllt werden, kann dies zu zahlreichen geteilten Zeilen führen. Mehr Zeilen werden auf separaten Seiten gespeichert, und mehr Zeit ist für den Zugriff auf die zusätzlichen Seiten erforderlich.

    Sie können dafür sorgen, dass Ihre Tabellen nicht zu sehr fragmentiert werden, indem Sie einen Prozentsatz festlegen, der auf Tabellenseiten freigehalten wird, um spätere Aktualisierungen unterzubringen. Diese PCTFREE-Angabe kann mit CREATE TABLE, ALTER TABLE, DECLARE LOCAL TEMPORARY TABLE oder LOAD TABLE festgelegt werden. Siehe PCTFREE-Klausel.

  • Tabellen neu organisieren   Sie können bestimmte Tabellen mit der TABLE REORGANIZE-Anweisung defragmentieren oder indem Sie in Sybase Central auf der Registerkarte Fragmentierung auf Reorganisieren klicken. Siehe REORGANIZE TABLE-Anweisung oder Registerkarte Fragmentierung verwenden (SQL Anywhere-Plug-In).

  • Datenbank neu aufbauen   Beim Neuaufbau der Datenbank werden alle Tabellen einschließlich der Systemtabellen defragmentiert, sofern der Neuaufbau als zweistufiger Prozess durchgeführt wird, das heißt, die Daten werden entladen und auf der Platte gespeichert und dann neu geladen. Der Neuaufbau auf diese Art hat auch den Vorteil, dass die Tabellenzeilen neu angeordnet werden, so dass sie in der Reihenfolge erscheinen, die durch den Clustered-Index und die Primärschlüssel vorgegeben werden. Durch einen Neuaufbau in einem Schritt (z.B. mit den Optionen -ar, -an oder -ac) wird die Tabellenfragmentierung nicht reduziert. Siehe Datenbanken neu aufbauen und Entladen-Dienstprogramm (dbunload).


Registerkarte Fragmentierung verwenden (SQL Anywhere-Plug-In)