Perbezaan antara B-Tree dan Bitmap Perbezaan Antara

Anonim

B-Tree dan Bitmap

Terdapat dua jenis indeks yang digunakan dalam Oracle. Ini adalah B-Tree dan Bitmap. Indeks ini digunakan untuk penalaan prestasi, yang pada dasarnya membuat 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 terutama dilaksanakan secara lalai. Bitmap, sebaliknya, datang sebagai format indeks yang sangat dimampatkan yang, dalam kebanyakan kes, digunakan dalam gudang data.

Bitmap boleh secara amnya dirujuk sebagai kaedah pengindeksan walaupun faedah prestasi dan simpanan simpanan boleh dicari. Penggunaannya, seperti yang dinyatakan sebelumnya, adalah terutamanya dalam persekitaran pergudangan data. Alasannya adalah kerana kemas kini data tidak seperti kerap dan pertanyaan ad hoc lebih banyak di alam sekitar. Dalam pelaksanaan Bitmap, data kardinal yang rendah adalah pilihan. Bitmap adalah pilihan pilihan untuk item lajur yang mempunyai pilihan rendah seperti jantina, yang hanya mempunyai 2 nilai dan lebih disukai. Data statik dalam gudang juga merupakan ciri yang baik dari data yang akan dilaksanakan dengan baik menggunakan Bitmap. Ciri lain Bitmap ialah aliran bit di mana setiap bit dilaksanakan pada nilai lajur dalam satu baris meja.

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

Salah satu perbezaan antara keduanya ialah terdapat pertindihan yang rendah dan kepelbagaian yang tinggi dalam B-Tree sementara sebaliknya berlaku dalam Bitmap. Bitmap mempunyai contoh duplikasi yang tinggi dan kepintaran yang rendah. Indeks Bitmap dilihat berfaedah berbanding indeks B-Tree, kerana ia mempunyai jadual yang berjuta-juta baris kerana lajur yang ditentukan mempunyai kardinaliti yang rendah. Oleh itu, indeks dalam Bitmap menawarkan prestasi yang lebih baik berbanding indeks B-Tree.

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

B-pokok adalah miskin apabila 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 lebih baik apabila terdapat beberapa nilai yang berbeza.

Jika terdapat banyak indeks dalam jadual sibuk menggunakan B-Tree, masalah dapat timbul akibat hukuman kecil yang dikenakan ketika memasukkan data diindeks atau jika Anda perlu memasukkan dan mengupdate data yang diindeks. Ini bukan 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 dalam Oracle

Bitmap adalah satu kaedah pengindeksan, menawarkan faedah prestasi dan penjimatan penyimpanan

Indeks B-Tree adalah indeks yang dibuat pada lajur yang mengandungi nilai yang sangat unik

B-Tree berfungsi dengan baik dengan banyak nilai terindeks

Bitmap berfungsi dengan baik dengan banyak nilai terindeks yang berbeza