B-Ağacı ve Bitmap arasındaki fark

Anonim

B-Ağacı ve Bitmap

dir. Oracle'da kullanılan iki tür indeks vardır. Bunlar B Ağacı ve Bitmap. Bu dizinler, aslında kayıt aramaya ve bunları oldukça hızlı bir şekilde aramalarına neden olan performans ayarlaması için kullanılır. Dizin işlevleri, dizine eklenen sütunlarda görünen tüm değerler için bir giriş oluşturur. B-Ağacı dizinleri, OLTP sistemleri tarafından kullanılan ve esas olarak varsayılan olarak uygulanan türdür. Bitmap, diğer taraftan, çoğu durumda veri ambarlarında kullanılan oldukça sıkıştırılmış bir dizin biçimi olarak gelir.

Bitmap, genel olarak performans avantajlarından ve depolama tasarruflarından istifade etmek için bir endeksleme yöntemi olarak geçebilir. Daha önce belirtildiği gibi kullanımı, esas olarak veri ambarı ortamındadır. Bunun sebebi, verilerin güncellenmesi sıklıkta olmaması ve geçici sorguların çevre üzerinde daha fazla olmasıdır. Bitmap uygulamasında, düşük kardinal veri tercih edilir. Cinsiyet gibi düşük seçeneklere sahip, yalnızca 2 değere sahip ve tercih edilen sütun öğeleri için Bitmap tercih edilen bir seçenektir. Depodaki statik veriler aynı zamanda Bitmap kullanılarak mükemmel bir şekilde uygulanacak olan verilerin iyi bir özelliğidir. Bitmap'in diğer bir özelliği, her bitin bir tablonun tek bir satırındaki bir sütun değerine uygulandığı bir bit akışıdır.

Öte yandan, B-tree dizini, çok benzersiz değerler içeren sütunlarda oluşturulmuş bir dizindir. B-Ağacı dizini, her girişin bir arama anahtarı değerine ve belirli bir satıra ve değere işaret eden bir işaretçiye sahip olduğu sıralı girdileri içerir. Bir sunucunun söz konusu değere ilişkin bir eşleştirme kısıtlaması bulması durumunda, işaretçi satırı getirmek için konuşlandırılır.

Bu ikisi arasındaki farklardan biri, Bitmap'te bunun tersi olurken düşük çoğaltılma ve B-Ağacında yüksek uyumlu olmasıdır. Bitmap, yüksek çoğaltma örneklerine ve düşük samimiyet özelliklerine sahiptir. Bitmap dizininin, B-Tree dizini üzerinde avantajlı olduğu görülüyor, çünkü belirtilen sütunların düşük kardinaliteye sahip olması nedeniyle milyonlarca satırı bulunan tablolar var. Bitmap'teki dizinler bu nedenle B-Ağacı dizinleri yerine daha iyi bir performans sunar.

B-Ağaçları, küçük bir veri kümesi toplandığında son derece hızlı görünüyor, çoğu durumda veri, veritabanı boyutunun% 10'unu aşmamalıdır. Bu ikisi, farklı değerlerin dizine eklendiği birçok durumda birlikte çalışırlar. B-Tree'ye benzersizdir ve çok verimli bir program üretmek için birkaç indeks birleştirilebilir. Diğer taraftan, Bitmap, maksimum verimlilik için dizin altındaki değerler düşük olduğunda daha iyi çalışmaya meyillidir.

B-ağaçları, alt küme verilerinin% 10'unu aşan daha büyük veri alt kümeleri aramak söz konusu olduğunda fakirdir.Bitmap, az sayıda farklı değer olduğunda daha iyi çalıştığı için yüksek kaliteli sonuçlar elde etmek için bu zorlu görev üstlenir. B-ağacı kullanılarak yoğun bir tabloda birçok indeksleri varsa, bir sorun endeksli veri ekleme veya etkinlikte sen ekleme ve endeksli verilerin güncellenmesi gerektiğinde dayatılan küçük cezalar sonucu ortaya çıkabilir. Bitmap ile ilgili bir sorun değil, çünkü söz konusu boyut ne olursa olsun değerleri ekleme ve güncelleme konusunda çok etkilidir.

Özet

B-Ağaç ve Bitmap Oracle kullanılan endeksler iki tür vardır

Bitmap performans yararları ve depolama tasarruf sunan endeksleme yöntemidir

B-ağacı indeks oluşturulur bir indekstir çok benzersiz değerler içeren sütunlar

B-Ağaç Bitmap birçok farklı endeksli değerler