DROP INDEX 構文を使用して、既存のインデックスを削除できます。
適用可能なエンジンとバージョン
DROP INDEX 構文は、LindormTable のすべてのバージョンに適用できます。
重要
DROP INDEX構文を使用して検索インデックスまたは列指向インデックスを削除するには、Lindorm SQLバージョンが2.6.1以降である必要があります。Lindorm SQLのバージョンの確認方法については、「SQLバージョン」をご参照ください。
構文
drop_index_statement ::= DROP INDEX [IF EXISTS] index_identifier
ON table_identifier;重要
セカンダリインデックスまたは検索インデックスを削除するために DROP INDEX 文を実行する前に、
ALTER INDEX文を実行してインデックスを無効にし、次にSHOW INDEX文を実行して、インデックスが INACTIVE 状態になっているかどうかを確認する必要があります。詳細については、「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);セカンダリインデックスの削除
セカンダリインデックス idx1 を無効にするには、次のステートメントを実行します。
ALTER INDEX IF EXISTS idx1 ON test DISABLED;セカンダリインデックス idx1 を削除するには、次のステートメントを実行します。
DROP INDEX IF EXISTS idx1 ON test;
結果の確認
インデックスが削除されたかどうかを確認するには、次のステートメントを実行します。
SHOW INDEX FROM test;検索インデックスの削除
検索インデックス idx2 を無効にするには、次のステートメントを実行します。
ALTER INDEX IF EXISTS idx2 ON test DISABLED;検索インデックス idx2 を削除するには、次のステートメントを実行します。
DROP INDEX IF EXISTS idx2 ON test;
結果の確認
インデックスが削除されたかどうかを確認するには、次のステートメントを実行します。
SHOW INDEX FROM test;