Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

DROP INDEX - Index löschen

DROP INDEX löscht einen Index. Der Index kann entweder explizit durch die Anweisung CREATE INDEX oder implizit durch die Definition einer Integritätsbedingung (UNIQUE) erzeugt worden sein.

Welche Indizes definiert sind, erfahren Sie im View INDEXES des INFORMATION_SCHEMA (siehe Kapitel „Informationsschemata").

Wird ein explizit definierter Index zusätzlich von einer Integritätsbedingung verwendet, wird der Index nicht gelöscht, sondern in einen impliziten Index umbenannt. Der neue Indexname beginnt mit UI, gefolgt von einer 16-stelligen Nummer.

Indizes, die nur implizit durch Integritätsbedingungen (UNIQUE) erzeugt wurden, werden erst dann gelöscht, wenn die zugehörige Integritätsbedingung gelöscht wird.

Der aktuelle Berechtigungsschlüssel muss Eigentümer des Schemas sein, zu dem der Index gehört.



DROP INDEX index [DEFERRED]



index

Name des Index, der gelöscht werden soll.

Der einfache Name des Index kann durch einen Datenbank- und Schemanamen qualifiziert werden.


DEFERRED

Diese Klausel bewirkt ein schnelles Löschen, bei dem nur der zusammenhängende Teil des Index gelöscht wird. Eventuell vorhandene Auslagerungen bleiben erhalten. Bei der nächsten Reorganisation des Anwender-Spaces mit der Utility-Anweisung REORG SPACE werden alle existierenden Tabellen und Indizes auf dem Anwender-Space neu aufgebaut. Damit verschwinden auch die Auslagerungen.
Informationen zur Speicherstruktur von Indizes finden Sie im „ Basishandbuch“.

Ein implizit erzeugter Index (bei einer UNIQUE-Integritätsbedingung) kann nicht explizit gelöscht werden. Nötigenfalls muss der Index explizit mit CREATE INDEX erzeugt werden. Dabei wird nur in den Metadaten der „Generate_Type“ von „implizit“ auf „explizit“ geändert. Anschließend kann die UNIQUE-Integritätsbedingung gelöscht werden. Der Index wird dabei nicht gelöscht und kann jetzt mit DROP INDEX ... DEFERRED gelöscht werden.

Die Klausel DEFERRED kann nur beim expliziten Löschen angegeben werden. Beim impliziten Löschen, z.B. mit DROP SPACE CASCADE, kann sie nicht angegeben werden.

DEFERRED nicht angegeben:
SESAM/SQL löscht die Indizes. Bei sehr großen, zersplitterten Indizes kann dies zeitaufwändig sein.

Siehe auch

CREATE INDEX