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を使用してインデックスを無効化し、次にSHOW INDEXを使用してインデックスがDISABLED状態であることを確認してください。 詳細については、「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:テーブルへの新しいインデックスの作成