DROP INDEX index_name ON tbl_name
[algorithm_option | lock_option] ...
algorithm_option:
ALGORITHM [=] {DEFAULT | INPLACE | COPY}
lock_option:
LOCK [=] {DEFAULT | NONE | SHARED | EXCLUSIVE}
DROP INDEX
は、テーブル tbl_name
から index_name
という名前のインデックスを削除します。 このステートメントは、このインデックスを削除するために ALTER TABLE
ステートメントにマップされます。 セクション13.1.9「ALTER TABLE ステートメント」を参照してください。
主キーを削除するには、インデックス名は常に PRIMARY
です。これは、PRIMARY
が予約語であるため、引用符で囲まれた識別子として指定する必要があります。
DROP INDEX `PRIMARY` ON t;
NDB
テーブルの可変幅カラム上のインデックスはオンラインで、つまり、テーブルコピーを行うことなく削除されます。 テーブルは、ほかの NDB Cluster API ノードからのアクセスに対してロックされませんが、操作中は same API ノード上のほかの操作に対してロックされます。 これは、サーバーが実行できると判断した場合は常に、そのサーバーによって自動的に実行されます。これを実行するために、特殊な SQL 構文やサーバーオプションを使用する必要はありません。
ALGORITHM
句および LOCK
句を指定して、インデックスの変更中にテーブルの読取りおよび書込みを行うためのテーブルのコピー方法および同時実行性のレベルに影響を与えることができます。 これらには、ALTER TABLE
ステートメントの場合と同じ意味があります。 詳細は、セクション13.1.9「ALTER TABLE ステートメント」を参照してください。
MySQL NDB Cluster は、標準 MySQL Server でサポートされているものと同じ ALGORITHM=INPLACE
構文を使用したオンライン操作をサポートします。 詳しくはセクション23.5.11「NDB Cluster での ALTER TABLE を使用したオンライン操作」,をご覧ください。