Gaya Hidup

Indeks Cluster dan Non Cluster dalam Lainnya, pengertian, perbedaan

Indeks Cluster & Non Cluster 

Indeks sangat penting dalam basis data apa pun. Mereka digunakan untuk meningkatkan kinerja mengambil data dari tabel.

Mereka secara logis dan fisik independen dari data dalam tabel terkait. Oleh karena itu, indeks dapat dijatuhkan, dibuat ulang, dan dibangun kembali tanpa memengaruhi data tabel dasar.

Server Oracle dapat secara otomatis mempertahankan indeksnya tanpa keterlibatan DBA, ketika tabel terkait dimasukkan, diperbarui, dan dihapus. Ada beberapa jenis indeks.

Ini dia beberapa di antaranya.

  1. Indeks B-tree
  2. Indeks bitmap
  3. Indeks berbasis fungsi
  4. Indeks kunci terbalik
  5. Indeks cluster B-tree

Apa itu Indeks Non-Kluster?

Dari jenis indeks di atas, berikut merupakan indeks non-cluster.

  • indeks B-tree
  • Indeks bitmap
  • Indeks berbasis fungsi
  • Indeks kunci terbalik

Indeks B-tree adalah tipe indeks database yang paling banyak digunakan. Jika perintah CREATE INDEX dikeluarkan pada database, tanpa menentukan jenisnya, server Oracle akan membuat indeks b-tree.

Ketika indeks b-tree dibuat pada kolom tertentu, server oracle menyimpan nilai kolom dan menyimpan referensi ke baris sebenarnya dari tabel. Indeks bitmap dibuat ketika data kolom tidak terlalu selektif.

Artinya, kolom data memiliki kardinalitas yang rendah. Ini dirancang khusus untuk gudang data, dan tidak baik menggunakan indeks bitmap pada tabel yang sangat dapat diperbarui atau transaksional.

Indeks fungsional berasal dari Oracle 8i. Di sini, sebuah fungsi digunakan di kolom yang diindeks.

Oleh karena itu, dalam indeks fungsional, data kolom tidak diurutkan dengan cara biasa. Ini mengurutkan nilai kolom setelah menerapkan fungsi.

Ini sangat berguna ketika penutupan WHERE dari kueri pemilihan menggunakan fungsi. Indeks kunci terbalik adalah jenis indeks yang sangat menarik.

Mari kita asumsikan sebuah kolom berisi banyak data string unik seperti ‘cityA’, ‘cityB’, ‘cityC’…dll. Semua nilai memiliki pola.

Empat karakter pertama adalah sama dan bagian selanjutnya diubah. Jadi ketika indeks kunci REVERSE dibuat pada kolom ini, Oracle akan membalikkan string dan mengembalikannya dalam indeks b-tree.

Jenis indeks yang disebutkan di atas adalah indeks NON-CLUSTERED. Artinya, data yang diindeks disimpan di luar tabel, dan referensi terurut ke tabel disimpan.

Apa itu Indeks Clustered?

Indeks berkerumun adalah jenis indeks khusus. Ini menyimpan data sesuai dengan cara menyimpan data tabel secara fisik.

Jadi, tidak boleh ada banyak indeks berkerumun untuk satu tabel. Satu tabel hanya dapat memiliki satu indeks berkerumun.

Apa perbedaan antara Indeks Clustered dan Non-Clustered?

1. Tabel hanya dapat memiliki satu indeks berkerumun, tetapi bisa ada hingga 249 indeks non-berkerumun dalam satu tabel.

2. Indeks cluster dibuat secara otomatis saat kunci utama dibuat, tetapi indeks non-cluster dibuat saat kunci unik dibuat.

3. Urutan logis indeks berkerumun cocok dengan urutan fisik data tabel, tetapi dalam indeks non-berkerumun, tidak.