HSQLDB - Indeks

SEBUAH database indexadalah struktur data yang meningkatkan kecepatan operasi dalam sebuah tabel. Indeks dapat dibuat menggunakan satu atau beberapa kolom, memberikan dasar untuk pencarian acak cepat dan pengurutan akses yang efisien ke catatan.

Saat membuat indeks, harus dipertimbangkan kolom apa yang akan digunakan untuk membuat kueri SQL, dan membuat satu atau beberapa indeks pada kolom tersebut.

Secara praktis, indeks juga merupakan tipe tabel, yang menyimpan kunci utama atau bidang indeks dan penunjuk ke setiap rekaman ke dalam tabel sebenarnya.

Pengguna tidak dapat melihat indeks. Mereka hanya digunakan untuk mempercepat kueri dan akan digunakan oleh Mesin Pencari Database untuk menemukan catatan dengan cepat.

Pernyataan INSERT dan UPDATE membutuhkan lebih banyak waktu pada tabel yang memiliki indeks, sedangkan pernyataan SELECT berjalan lebih cepat pada tabel tersebut. Alasannya adalah saat memasukkan atau memperbarui, database perlu memasukkan atau memperbarui nilai indeks juga.

Indeks Sederhana & Unik

Anda dapat membuat indeks unik di atas tabel. SEBUAHunique indexartinya dua baris tidak boleh memiliki nilai indeks yang sama. Berikut ini adalah sintaks untuk membuat Index pada tabel.

CREATE UNIQUE INDEX index_name
ON table_name (column1, column2,...);

Anda dapat menggunakan satu atau beberapa kolom untuk membuat indeks. Misalnya, buat indeks di tutorials_tbl menggunakan tutorial_author.

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author)

Anda dapat membuat indeks sederhana di atas tabel. Abaikan saja kata kunci UNIK dari kueri untuk membuat indeks sederhana. SEBUAHsimple index memungkinkan nilai duplikat dalam tabel.

Jika Anda ingin mengindeks nilai dalam kolom dalam urutan menurun, Anda dapat menambahkan kata khusus DESC setelah nama kolom.

CREATE UNIQUE INDEX AUTHOR_INDEX
ON tutorials_tbl (tutorial_author DESC)

ALTER Perintah untuk Tambah & Jatuhkan INDEX

Ada empat jenis pernyataan untuk menambahkan indeks ke tabel -

  • ALTER TABLE tbl_name ADD PRIMARY KEY (column_list) - Pernyataan ini menambahkan PRIMARY KEY, yang berarti nilai yang diindeks harus unik dan tidak boleh NULL.

  • ALTER TABLE tbl_name ADD UNIQUE index_name (column_list) - Pernyataan ini membuat indeks yang nilainya harus unik (dengan pengecualian nilai NULL, yang mungkin muncul beberapa kali).

  • ALTER TABLE tbl_name ADD INDEX index_name (column_list) - Ini menambahkan indeks biasa di mana nilai apa pun dapat muncul lebih dari sekali.

  • ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list) - Ini membuat indeks FULLTEXT khusus yang digunakan untuk tujuan pencarian teks.

Berikut ini adalah query untuk menambahkan indeks dalam tabel yang sudah ada.

ALTER TABLE testalter_tbl ADD INDEX (c);

Anda dapat menghapus INDEX apa pun dengan menggunakan klausa DROP bersama dengan perintah ALTER. Berikut ini adalah kueri untuk menghapus indeks yang dibuat di atas.

ALTER TABLE testalter_tbl DROP INDEX (c);

Menampilkan Informasi INDEX

Anda dapat menggunakan perintah SHOW INDEX untuk mendaftar semua indeks yang terkait dengan tabel. Output format vertikal (ditentukan oleh \ G) sering berguna dengan pernyataan ini, untuk menghindari garis batas yang panjang.

Berikut ini adalah sintaks generik untuk menampilkan informasi indeks tentang sebuah tabel.

SHOW INDEX FROM table_name\G