Perbedaan Antara Indeks Cluster dan Non Cluster

Indeks Cluster vs Non Cluster

Indeks sangat penting dalam basis data apa pun. Mereka digunakan untuk meningkatkan kinerja pengambilan data dari tabel. Mereka secara logis dan fisik independen dari data dalam tabel terkait. Oleh karena itu, indeks dapat dijatuhkan, diciptakan kembali, 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 tipe indeks. Ini beberapa di antaranya.

1. indeks B-tree

2. indeks Bitmap

3. Indeks berbasis fungsi

4. Indeks reverse-key

5. indeks cluster B-tree

Apa itu Indeks Non-Cluster?

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

• indeks B-tree

• Indeks Bitmap

• Indeks berdasarkan fungsi

• Indeks kunci terbalik

Indeks B-tree adalah tipe indeks database yang paling banyak digunakan. Jika perintah CREATE INDEX dikeluarkan pada database, tanpa menentukan tipe, server Oracle membuat indeks b-tree. Ketika indeks b-tree dibuat pada kolom tertentu, server oracle menyimpan nilai-nilai kolom dan menyimpan referensi ke baris aktual tabel.

Indeks bitmap dibuat ketika data kolom tidak terlalu selektif. Itu berarti, data kolom memiliki kardinalitas 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, fungsi digunakan di kolom yang diindeks. Oleh karena itu, dalam indeks fungsional, data kolom tidak diurutkan dengan cara normal. Ini mengurutkan nilai kolom setelah menerapkan fungsi. Ini sangat berguna ketika WHERE tutup permintaan pilih digunakan fungsi.

Indeks reverse-key adalah tipe 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. Itu berarti, data yang diindeks disimpan di luar tabel, dan referensi diurutkan ke tabel disimpan. 

Apa itu Indeks Clustered?

Indeks Clustered adalah jenis indeks khusus. Ini menyimpan data sesuai dengan cara menyimpan data tabel secara fisik. Jadi, tidak mungkin 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 mungkin ada hingga 249 indeks tidak berkerumun dalam satu tabel.

2. Indeks berkerumun secara otomatis dibuat ketika kunci utama dibuat, tetapi indeks non-berkerumun dibuat ketika kunci unik dibuat.

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