Verwendet für
Aktivieren oder Deaktivieren eines Indexes;Neuerstellung eines Index
Syntax
ALTER INDEX indexname {ACTIVE | INACTIVE}
Table 1. ALTER INDEX
-Anweisungsparameter
Parameter |
Beschreibung |
indexname |
Indexname |
Die ALTER INDEX
-Anweisung aktiviert oder deaktiviert einen Index.Diese Anweisung bietet keine Möglichkeit, irgendwelche Attribute des Indexes zu ändern.
INAKTIV
-
Mit der Option INACTIVE
wird der Index vom aktiven in den inaktiven Zustand geschaltet.Die Wirkung ist ähnlich wie bei der DROP INDEX
-Anweisung, außer dass die Indexdefinition in der Datenbank verbleibt.Das Ändern eines Einschränkungsindex in den inaktiven Zustand ist nicht zulässig.
Ein aktiver Index kann deaktiviert werden, wenn keine Abfragen mit diesem Index vorbereitet sind;andernfalls wird ein Fehler “object in use” zurückgegeben.
Die Aktivierung eines inaktiven Index ist ebenfalls sicher.Wenn jedoch aktive Transaktionen vorhanden sind, die die Tabelle ändern, schlägt die Transaktion mit der Anweisung ALTER INDEX
fehl, wenn sie das Attribut NOWAIT
besitzt.Wenn sich die Transaktion im WAIT
-Modus befindet, wartet sie auf den Abschluss gleichzeitiger Transaktionen.
Auf der anderen Seite der Medaille, wenn unser ALTER INDEX
erfolgreich ist und beginnt, den Index bei COMMIT
neu aufzubauen, werden andere Transaktionen, die diese Tabelle ändern, fehlschlagen oder warten, entsprechend ihren WAIT
/NO WAIT
-Attributen.Genauso verhält es sich mit CREATE INDEX
.
Note
|
Wofür ist es nützlich?
Es kann sinnvoll sein, einen Index in den inaktiven Zustand zu versetzen, während ein großer Satz von Datensätzen in der Tabelle, die den Index besitzt, eingefügt, aktualisiert oder gelöscht wird.
|
AKTIV
-
Mit der Option 'ACTIVE' wird der Index, wenn er sich im inaktiven Zustand befindet, in den aktiven Zustand geschaltet und das System baut den Index neu auf.
Note
|
Wofür ist es nützlich?
Auch wenn der Index active ist, wenn ALTER INDEX … ACTIVE ausgeführt wird, wird der Index neu aufgebaut.Das Neuerstellen von Indizes kann ein nützliches Stück Haushaltsführung sein, um gelegentlich die Indizes einer großen Tabelle in einer Datenbank zu verwalten, die häufig eingefügt, aktualisiert oder gelöscht wird, aber selten wiederhergestellt wird.
|