Datenbankseiten werden freigegeben, wenn alle Datensätze auf der Seite gelöscht werden. Wenn eine Datenbankseite freigegeben wird, wird sie für die Wiederbenutzung verfügbar, aber sie kann nicht aus der Datei entfernt werden. Spätere INSERT- und UPDATE-Anweisungen können die freigegeben Seiten verwenden.
Wenn die gewünschten Änderungen, wie Einfügungen, Aktualisierungen oder Löschungen, in der Datenbank vorgenommen werden, werden dem Rollback-Log, das im System-DBSpace gespeichert wird, Einträge hinzugefügt. Wenn viele dieser Vorgänge ausgeführt werden, bevor eine Festschreibung vorgenommen wird, kann das Rollback-Log sehr groß und die Größe der Datenbank erhöht werden.
Das Checkpoint-Log wird am Ende des System-DBSpace gespeichert. Wenn der Datenbankserver heruntergefahren wird, wird das Checkpoint-Log gekürzt und der System DBSpace nimmt ab. Seiten, die durch DELETE- oder TRUNCATE-Vorgänge freigegeben wurden, bleiben in der Datenbankdatei für die zukünftige Wiederverwendung und können nicht aus der Datei entfernt werden.
Wenn die Größe der Datenbankdatei zunimmt oder nicht in der erwarteten Form abnimmt, können Sie wie folgt vorgehen:
Führen Sie häufig COMMIT-Anweisungen aus, wenn Sie INSERT-, UPDATE- oder DELETE-Anweisungen verwenden. Seiten, die dem Rollback-Log zugewiesen sind, werden bei der Ausführung einer COMMIT-Anweisung für die Wiederverwendung im System-DBSpace freigegeben.
Führen Sie gelegentlich CHECKPOINT-Anweisungen aus, wenn Sie UPDATE- oder DELETE-Anweisungen verwenden oder wenn Sie bei großen Indizes INSERT-Anweisungen verwenden. Seiten im Checkpoint-Log werden nach jedem Checkpoint für die Wiederbenutzung durch das Checkpoint-Log verfügbar.
Führen Sie eine TRUNCATE TABLE-Anweisung aus, die zu Löschungen auf Seitenebene führen kann. In diesen Fällen müssen dem Checkpoint-Log keine Kopien der Seiten hinzugefügt werden und die einzelnen Vorgänge auf Zeilenebene müssen nicht dem Rollback-Log hinzugefügt werden. Seiten, die durch TRUNCATE TABLE freigegeben wurden, sind erst nach dem nächsten Checkpoint wiederverwendbar. TRUNCATE TABLE führt zu Löschungen auf Seitenebene, wenn folgende Bedingungen zutreffen:
Der Neuaufbau der Datenbank kann die Größe der Datenbank veringern, weil die neu aufgebaute Datenbank weniger freien Seiten hat.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2013, SAP AG oder ein SAP-Konzernunternehmen. - SAP Sybase SQL Anywhere 16.0 |