Pengindeksan
Semua database ini dapat mengambil keuntungan dari pengindeksan untuk meningkatkan kecepatan mereka. Teknologi ini telah maju pesat sejak penggunaan di awal tahun 1960-an dan 1970-an. Jenis indeks yang paling umum menggunakan daftar yang diurutkan dari isi beberapa kolom tabel tertentu, dengan pointer ke baris yang berhubungan dengan nilai. Sebuah indeks memungkinkan sekumpulan baris tabel mencocokkan beberapa kriteria untuk mempercepat mencari keberadaan. Biasanya, indeks juga disimpan dalam berbagai bentuk struktur data yang disebutkan di atas (seperti B-tree, hash, dan linked list). Biasanya, seorang desainer database memilih teknik-teknik khusus untuk meningkatkan efisiensi dalam kasus tertentu dari jenis indeks yang dibutuhkan.
Kebanyakan DBMS relasional dan beberapa DBMS objek memiliki keuntungan bahwa indeks dapat diciptakan atau dihapus tanpa mengubah aplikasi yang ada yang mereka manfaatkan, Database memilih berbagai strategi didasarkan pada yang mana diperkirakan akan berjalan paling cepat. Dengan kata lain, indeks bertindak transparan ke aplikasi atau end-user query database, sedangkan mereka mempengaruhi kinerja, setiap perintah SQL akan berjalan dengan atau tanpa indeks untuk menghitung hasil dari pernyataan SQL. RDBMS akan menghasilkan rencana query tentang bagaimana untuk menjalankan query: terkadang sering dihasilkan dengan menganalisis runtime dari algoritma yang berbeda dan memilih proses tercepat. Beberapa algoritma kunci yang berhubungan dengan gabungan adalah nested loop join, sort-merge join and hash join. Yang mana sebuah RDBMS memilih tergantung pada apakah indeksnya ada, apa jenisnya dan kardinalitasnya.
Sebuah indeks mempercepat akses ke data, tetapi memiliki kelemahan juga. Pertama, setiap indeks meningkatkan jumlah penyimpanan yang digunakan pada hard drive yang juga diperlukan untuk file database, dan kedua, indeks harus diperbarui setiap kali data yang berubah, dan membutuhkan waktu. (Jadi indeks menghemat waktu dalam membaca data, tetapi membutuhkan waktu dalam memasukkan dan mengubah data. Dengan demikian tergantung pada penggunaan data yang harus diletakkan apakah indeks secara keseluruhan plus atau minus dalam upaya untuk efisiensi.)
Sebuah kasus khusus dari indeks yaitu indeks utama yang berdasarkan primary key: indeks utama harus memastikan bahwa referensi unik untuk direkam. Sering kali, untuk tujuan yang satu ini hanya menggunakan indeks nomor berjalan(nomor ID). indeks Primer memainkan peran penting dalam database relasional, dan mereka dapat mempercepat akses ke data.
0 komentar: