Perbezaan antara pokok b dan bitmap

Perbezaan antara pokok b dan bitmap

B-Tree dan Bitmap

Terdapat dua jenis indeks yang digunakan di Oracle. Ini adalah pokok b dan bitmap. Indeks ini digunakan untuk penalaan prestasi, yang berkuat kuasa mencari rekod dan mengambilnya dengan cepat. Fungsi indeks membuat entri untuk semua nilai yang muncul dalam lajur yang diindeks. Indeks B-Tree adalah jenis yang digunakan oleh sistem OLTP dan yang kebanyakannya dilaksanakan secara lalai. Bitmap, sebaliknya, datang sebagai format indeks yang sangat mampat yang, dalam kebanyakan kes, digunakan di gudang data.

Bitmap secara umum boleh dirujuk sebagai kaedah pengindeksan walaupun manfaat prestasi dan penjimatan penyimpanan boleh dicari. Penggunaannya, seperti yang dinyatakan sebelum ini, terutamanya dalam persekitaran pergudangan data. Sebabnya adalah kerana kemas kini data tidak kerap dan pertanyaan ad hoc lebih dalam persekitaran. Dalam pelaksanaan bitmap, data kardinal rendah lebih disukai. Bitmap adalah pilihan pilihan untuk item lajur yang mempunyai pilihan rendah seperti jantina, yang akan mempunyai 2 nilai sahaja dan lebih disukai. Data statik di gudang juga merupakan ciri data yang baik yang akan dilaksanakan dengan baik menggunakan bitmap. Satu lagi ciri bitmap adalah aliran bit di mana setiap bit dilaksanakan pada nilai lajur dalam satu baris jadual.

Indeks B-Pokok, sebaliknya, adalah indeks yang dibuat pada lajur yang mengandungi nilai yang sangat unik. Indeks B-Tree mempunyai entri yang diperintahkan di mana setiap entri mempunyai nilai kunci carian dan penunjuk yang merujuk kepada baris dan nilai yang diberikan. Sekiranya pelayan mendapati kekangan yang sepadan yang berkaitan dengan nilai yang dipersoalkan, penunjuk dikerahkan untuk mengambil baris.

Salah satu perbezaan antara kedua-duanya ialah terdapat pertindihan yang rendah dan kordialiti yang tinggi di B-Tree manakala sebaliknya berlaku dalam bitmap. Bitmap mempunyai contoh duplikasi yang tinggi dan kesakitan yang rendah. Indeks Bitmap dilihat berfaedah melalui indeks B-pokok, kerana ia mempunyai jadual yang mempunyai berjuta-juta baris kerana lajur yang ditentukan mempunyai kardinaliti yang rendah. Oleh itu, indeks dalam bitmap menawarkan prestasi yang lebih baik berbanding dengan indeks b-pohon.

B-Pohon nampaknya sangat cepat apabila set data kecil dikumpulkan, dalam kebanyakan kes, data tidak seharusnya melebihi 10% daripada saiz pangkalan data. Kedua -dua ini bekerjasama apabila terdapat banyak nilai yang berbeza yang diindeks. Ia juga unik untuk B-pokok bahawa beberapa indeks boleh digabungkan untuk menghasilkan program yang sangat berkesan. Bitmap, sebaliknya, cenderung berfungsi dengan baik apabila terdapat nilai yang diindeks yang lebih rendah untuk kecekapan maksimum.

B-Trees adalah miskin ketika mencari subset data yang lebih besar yang melebihi 10% daripada data subset. Bitmap mengambil cabaran ini untuk memberikan hasil yang berkualiti tinggi, kerana ia berfungsi dengan lebih baik apabila terdapat beberapa nilai yang berbeza.

Sekiranya terdapat banyak indeks dalam jadual yang sibuk menggunakan pokok B, masalah boleh timbul akibat penalti kecil yang dikenakan semasa memasukkan data yang diindeks atau sekiranya anda perlu memasukkan dan mengemas kini data yang diindeks. Ini tidak menjadi masalah dengan bitmap, kerana ia sangat berkesan dalam memasukkan dan mengemas kini nilai, apa pun saiz yang dipersoalkan.

Ringkasan

B-Tree dan Bitmap adalah dua jenis indeks yang digunakan di Oracle
Bitmap adalah kaedah pengindeksan, menawarkan faedah prestasi dan simpanan penyimpanan
Indeks B-Tree adalah indeks yang dibuat pada lajur yang mengandungi nilai yang sangat unik
B-Tree berfungsi dengan baik dengan banyak nilai yang diindeks berbeza
Bitmap berfungsi dengan baik dengan banyak nilai terindeks yang berbeza