Indeks pada dasarnya diperlukan untuk penegakan efisien kendala integritas dan pemrosesan kueri dan transaksi yang efisien. Ini dibuat pada tabel dan tampilan. Misalnya, indeks yang digunakan dalam buku yang memfasilitasi pengguna untuk dengan cepat mengakses konten buku, sama halnya kita memiliki indeks pada SQL.
Grafik perbandingan
Dasar untuk perbandingan | Indeks Berkelompok | Indeks tidak berkerumun |
---|---|---|
Dasar | Menentukan urutan penyimpanan baris dalam tabel secara keseluruhan. | Menentukan urutan penyimpanan baris dalam tabel dengan bantuan struktur fisik yang terpisah. |
Jumlah indeks yang diizinkan per tabel | Hanya satu indeks berkerumun | Beberapa indeks non-cluster |
Mengakses data | Lebih cepat | Lebih lambat dibandingkan dengan indeks berkerumun |
Ruang disk tambahan | Tidak dibutuhkan | Diperlukan untuk menyimpan indeks secara terpisah |
Definisi indeks Clustered
Indeks Clustered pada dasarnya digunakan untuk memesan baris dalam sebuah tabel. Tabel hanya dapat memiliki satu indeks berkerumun karena baris dalam tabel dapat diurutkan hanya dalam satu urutan, tetapi ada cara untuk membuat indeks berkerumun komposit . Kolom dimasukkan dalam indeks berkerumun dan urutan logis atau diindeks dari nilai-nilai kunci adalah sama dengan urutan disimpan secara fisik dari baris yang sesuai. Ketika tidak ada indeks berkerumun untuk data, itu disimpan dalam tumpukan .
Catatan mengakses tumpukan sangat memakan waktu, di mana setiap entri dalam tabel dipindai untuk mengakses data yang diinginkan. Dalam pemindaian tabel, tidak ada cara untuk mengetahui apakah ada lebih banyak kecocokan yang tersedia atau tidak. Jadi, metode ini sangat tidak efisien.
Saat menggunakan indeks berkerumun, pengaksesan data lebih cepat dan sistematis di mana tabel diatur dalam beberapa urutan. Itu didefinisikan dalam bidang pemesanan tabel. Kunci pencariannya digunakan menentukan pengaturan berurutan file atau tabel. Indeks berkerumun secara otomatis dibuat ketika kunci utama didefinisikan untuk tabel.
Definisi indeks Non-cluster
Indeks Non-clustered menyimpan data di satu tempat dan indeks di tempat yang berbeda dan indeks akan memiliki pointer ke lokasi penyimpanan data. Sebuah tabel dapat memiliki beberapa indeks non-clustered karena indeks dalam indeks non-clustered disimpan di tempat yang berbeda. Sebagai contoh, sebuah buku dapat memiliki lebih dari satu indeks, satu di awal yang menunjukkan isi unit buku dan indeks lain di akhir yang menunjukkan indeks istilah dalam urutan abjad.
Ini didefinisikan di bidang non-pemesanan tabel. Indeks yang tidak berkerumun dapat meningkatkan kinerja kueri yang menggunakan kunci selain kunci utama. Indeks non-clustered secara otomatis dibuat ketika kunci unik didefinisikan untuk tabel.
Perbedaan utama antara indeks Clustered dan Non-clustered
- Jumlah indeks berkerumun yang dapat dimiliki tabel hanya satu. Sedangkan tabel dapat memiliki beberapa indeks non-cluster.
- Indeks berkerumun lebih cepat daripada indeks non-berkerumun karena indeks non-berkerumun harus merujuk kembali ke tabel dasar. Sebaliknya, ini bukan kasus dalam indeks berkerumun.
- Dalam indeks non-cluster, indeks disimpan di lokasi terpisah yang membutuhkan ruang penyimpanan tambahan. Sebaliknya, indeks berkerumun menyimpan data tabel dasar dalam urutan fisik yang sama dengan urutan logis indeks, sehingga tidak memerlukan ruang penyimpanan tambahan.
Kesimpulan
Indeks berkerumun adalah cara menyimpan data dalam baris tabel dalam urutan tertentu. Sehingga ketika data yang diinginkan dicari, satu-satunya baris yang sesuai akan terpengaruh yang berisi data dan direpresentasikan sebagai output. Di sisi lain, indeks non-cluster berada di struktur yang terpisah secara fisik yang mereferensikan data dasar ketika dicari. Struktur yang tidak berkerumun dapat memiliki susunan urutan yang berbeda.