LindormTable テーブルから既存のインデックスを削除します。
対応エンジンおよびバージョン
DROP INDEX は、すべての LindormTable バージョンで使用できます。
重要
検索インデックスまたは列指向インデックスを削除するには、Lindorm SQL のバージョンが2.6.1 以降である必要があります。ご利用中の Lindorm SQL のバージョンを確認するには、「SQL バージョン」をご参照ください。
構文
DROP INDEX [IF EXISTS] index_identifier ON table_identifier;パラメーター
| パラメーター | 説明 |
|---|---|
IF EXISTS | 省略可能。インデックスが存在する場合、そのインデックスを削除します。インデックスが存在しない場合は、このステートメントは何も実行されず、エラーも返しません。IF EXISTS を指定しない場合、インデックスが存在しないとエラーが返されます。 |
index_identifier | 削除対象のインデックス名です。 |
table_identifier | インデックスが属するテーブル名です。 |
注意事項
セカンダリインデックスまたは検索インデックスを削除する前に、まず
ALTER INDEX ... DISABLEDを使用してインデックスを無効化し、その後INACTIVE状態であることをSHOW INDEXで確認してください。詳細については、「ALTER INDEX」および「SHOW INDEX」をご参照ください。テーブルを削除すると、そのテーブルに設定されたすべてのインデックスも同時に削除されます。
例
以下の例では、次のベーステーブルおよびそのインデックスを使用します。
-- プライマリテーブルを作成します。
CREATE TABLE test (
p1 VARCHAR NOT NULL,
p2 INTEGER NOT NULL,
c1 BIGINT,
c2 DOUBLE,
c3 VARCHAR,
c4 TIMESTAMP,
PRIMARY KEY(p1, p2)
) WITH (CONSISTENCY = 'strong', MUTABILITY='MUTABLE_LATEST');
-- セカンダリインデックス idx1 を作成します。
CREATE INDEX idx1 ON test(c1 desc) include(c3,c4) WITH (COMPRESSION='ZSTD');
-- 検索インデックス idx2 を作成します。
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test(p1, p2, c1, c2, c3);セカンダリインデックスの削除
インデックスを無効化します。
ALTER INDEX IF EXISTS idx1 ON test DISABLED;インデックスを削除します。
DROP INDEX IF EXISTS idx1 ON test;
結果の確認
以下のステートメントを実行し、インデックスが削除されたことを確認します:
SHOW INDEX FROM test;検索インデックスの削除
インデックスを無効化します。
ALTER INDEX IF EXISTS idx2 ON test DISABLED;インデックスを削除します。
DROP INDEX IF EXISTS idx2 ON test;
結果の確認
以下のステートメントを実行し、インデックスが削除されたことを確認します:
SHOW INDEX FROM test;次のステップ
ALTER INDEX — インデックスの無効化または再構築
SHOW INDEX — テーブル上のインデックス一覧表示およびステータス確認
CREATE INDEX — テーブルに新しいインデックスを作成します