Anda dapat menggunakan sintaksis DROP INDEX untuk menghapus indeks yang sudah ada.
Mesin dan versi yang berlaku
Sintaksis DROP INDEX berlaku untuk semua versi LindormTable.
Untuk menggunakan sintaksis DROP INDEX dalam menghapus indeks pencarian atau indeks kolom, versi Lindorm SQL harus 2.6.1 atau lebih baru. Untuk informasi lebih lanjut tentang cara memeriksa versi Lindorm SQL, lihat Versi SQL.
Sintaksis
drop_index_statement ::= DROP INDEX [IF EXISTS] index_identifier
ON table_identifier;Sebelum menjalankan pernyataan DROP INDEX untuk menghapus indeks sekunder atau indeks pencarian, Anda harus menonaktifkan indeks terlebih dahulu dengan menjalankan pernyataan
ALTER INDEX, lalu memverifikasi statusnya menggunakan pernyataanSHOW INDEXuntuk memastikan indeks dalam keadaan INACTIVE. Untuk informasi lebih lanjut, lihat ALTER INDEX dan SHOW INDEX.Jika sebuah tabel dihapus, indeks yang terkait dengan tabel tersebut juga akan dihapus secara otomatis.
Contoh
Dalam contoh ini, pernyataan berikut dieksekusi terlebih dahulu untuk membuat tabel dan indeks:
-- Buat tabel dasar.
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');
-- Buat indeks sekunder bernama idx1.
CREATE INDEX idx1 ON test(c1 desc) include(c3,c4) WITH (COMPRESSION='ZSTD');
-- Buat indeks pencarian bernama idx2.
CREATE INDEX IF NOT EXISTS idx2 USING SEARCH ON test(p1, p2, c1, c2, c3);Hapus indeks sekunder
Jalankan pernyataan berikut untuk menonaktifkan indeks sekunder idx1:
ALTER INDEX IF EXISTS idx1 ON test DISABLED;Jalankan pernyataan berikut untuk menghapus indeks sekunder idx1:
DROP INDEX IF EXISTS idx1 ON test;
Verifikasi Hasilnya
Jalankan pernyataan berikut untuk memeriksa apakah indeks telah dihapus:
SHOW INDEX FROM test;Hapus indeks pencarian
Jalankan pernyataan berikut untuk menonaktifkan indeks pencarian idx2:
ALTER INDEX IF EXISTS idx2 ON test DISABLED;Jalankan pernyataan berikut untuk menghapus indeks pencarian idx2:
DROP INDEX IF EXISTS idx2 ON test;
Verifikasi Hasilnya
Jalankan pernyataan berikut untuk memeriksa apakah indeks telah dihapus:
SHOW INDEX FROM test;