全部產品
Search
文件中心

Lindorm:DROP INDEX

更新時間:Jul 06, 2024

您可以通過DROP INDEX語句刪除已存在的索引。

引擎與版本

DROP INDEX文法僅適用於寬表引擎。無版本限制。

重要

使用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 INDEXSHOW 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);

刪除二級索引

  1. 執行以下語句,禁用二級索引idx1。

    ALTER INDEX IF EXISTS idx1 ON test DISABLED;
  2. 刪除二級索引。

    DROP INDEX IF EXISTS idx1 ON test;

結果驗證

執行以下語句,查看索引刪除結果。

SHOW INDEX FROM test;

刪除搜尋索引

  1. 執行以下語句,禁用搜尋索引idx2。

    ALTER INDEX IF EXISTS idx2 ON test DISABLED;
  2. 刪除搜尋索引idx2。

    DROP INDEX IF EXISTS idx2 ON test;

結果驗證

執行以下語句,查看索引刪除結果。

SHOW INDEX FROM test;