Indeks Cluster vs 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 yang dimaksud dengan Indeks Non – Cluster?
Dari tipe indeks di atas, berikut ini adalah indeks non-cluster.
• Indeks pohon-B
• Indeks bitmap
• Indeks berbasis fungsi
• Indeks kunci terbalik
B-tree indexes adalah tipe indeks database yang paling banyak digunakan. Jika perintah CREATE INDEX dikeluarkan pada database, tanpa menentukan jenisnya, server Oracle membuat indeks b-tree. Ketika indeks b-tree dibuat pada kolom tertentu, server oracle menyimpan nilai kolom dan menyimpan referensi ke baris tabel yang sebenarnya.
Indeks bitmap dibuat ketika data kolom tidak terlalu selektif. Artinya, data kolom memiliki kardinalitas yang rendah. Ini dirancang khusus untuk gudang data, dan tidak baik menggunakan indeks bitmap pada tabel yang sangat dapat diperbarui atau tabel transaksional.
Indeks fungsional berasal dari Oracle 8i. Di sini, fungsi digunakan di kolom terindeks. Oleh karena itu, dalam indeks fungsional, data kolom tidak diurutkan secara normal. Ini mengurutkan nilai kolom setelah menerapkan fungsi. Ini sangat berguna ketika penutupan WHERE dari kueri pemilihan digunakan suatu fungsi.
Indeks kunci terbalik 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 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 yang diurutkan ke tabel disimpan.
Apa itu Indeks Berkelompok?
Indeks berkerumun 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 dapat ada hingga 249 indeks yang tidak berkerumun dalam satu tabel.
2. Indeks berkerumun secara otomatis dibuat ketika kunci utama dibuat, tetapi indeks non-berkelompok dibuat ketika kunci unik dibuat.
3. Urutan logis dari indeks berkerumun cocok dengan urutan fisik data tabel, tetapi dalam indeks non-berkelompok, tidak.