DROP INDEX

DROP INDEXはインデックス(索引)を削除するSQL文である。以下に示す場合にインデックスを削除する。

Oracle

インデックスを削除する。

DROP INDEX [schema.]index [ONLINE] [FORCE]
schema
他のスキーマにあるインデックスを削除する場合に、そのスキーマ名を指定する。
DROP INDEX scott.example
index
削除するインデックスを指定する。
DROP INDEX example
ONLINE
索引の削除中に、表またはパーティションに対するDML操作を許可する。
FORCE
索引タイプ・ルーチンの起動がエラーを戻した場合、または索引にIN PROGRESSのマークが付けられている場合でも、ドメイン索引を削除する。

権限

自分のスキーマにあるインデックスを削除するのに権限は必要ない。

他のスキーマにあるインデックスを削除するには、DROP ANY INDEXシステム権限が必要である。

Postgres

DROP INDEX [CONCURRENTLY] [IF EXISTS] index [, ...] [CASCADE|RESTRICT]
CONCURRENTLY
インデックスのテーブルに対して同時に実行される選択、挿入、更新、削除をロックすることなくインデックスを削除する。
IF EXISTS
削除しようとするインデックスが存在しない場合、DROP INDEXはエラーとなる。インデックスが存在しなくてもエラーが発生しないようにするためには、IF EXISTSオプションを指定する。
DROP INDEX IF EXISTS example
index
削除するインデックスの名前を指定する。
DROP INDEX example

MySQL

インデックスを削除する。

DROP INDEX example

SQLServer

インデックスを削除する。

DROP INDEX example

削除しようとするインデックスが存在しない場合、DROP INDEXはエラーとなる。インデックスが存在しなくてもエラーが発生しないようにするためには、IF EXISTSオプションを指定する。

DROP INDEX IF EXISTS example

関連SQL

CREATE INDEX
索引を作成する。
ALTER INDEX
索引を再構築する。