Küme ve Kümelenmemiş İndeks Arasındaki Fark

Anonim

Kümeleme ve Kümelenme Endeksi

Dizinler herhangi bir veritabanında çok önemlidir. Tablodan veri alma performansını artırmak için kullanılırlar. İlişkili tablolardaki verilerin mantıksal ve fiziksel olarak bağımsızdırlar. Bu nedenle, dizinler temel tabloların verilerini etkilemeden bırakılabilir, yeniden oluşturulabilir ve yeniden oluşturulabilir. Oracle sunucusu, ilgili tabloların eklendiği, güncellendiği ve silindiğinde, bir DBA'nın katılımı olmaksızın dizinlerini otomatik olarak koruyabilir. Birkaç dizin türü vardır. Bunlardan bazıları.

1. B-tree indeksleri

2. Bitmap dizinleri

3. İşlev tabanlı dizinler

4. Ters anahtar endeksleri

5. B-tree cluster indeksleri

Cluster-dışı Dizin nedir?

Yukarıdaki dizin türlerinden kümelenmemiş dizinler aşağıda belirtilmiştir.

• B-tree dizini

• Bitmap dizini

• İşlev tabanlı dizin

• Ters anahtar indeksleri

B-tree indeksleri, veritabanlarının en yaygın kullanılan endeks türünü oluşturur. CREATE INDEX komutu veritabanında bir tür belirtmeden verilirse, Oracle sunucusu bir b-tree dizini oluşturur. Belirli bir sütunda bir b-tree dizini oluşturulduğunda oracle sunucusu sütunun değerlerini depolar ve tablonun gerçek satırına bir referans tutar.

Bitmap dizinleri, sütun verileri çok seçici olmadığında oluşturulur. Yani, sütun verileri düşük kapasiteye sahiptir. Bunlar veri ambarları için özel olarak tasarlanmıştır ve yüksek düzeyde güncelleştirilebilir veya işlem tablolarında bitmap dizinleri kullanmak iyi değildir.

İşlevsel dizinler Oracle 8i'den geliyor. Burada, dizine eklenen sütunda bir işlev kullanılır. Bu nedenle, fonksiyonel bir dizinde sütun verileri normal şekilde sıralanmaz. Fonksiyonu uyguladıktan sonra sütunların değerlerini sıralar. Seçili sorgunun WHERE yakın bir işlevi kullanıldığında bunlar çok yararlıdır.

Ters anahtar dizinleri çok ilginç bir dizin türüdür. Bir sütunun 'cityA', 'cityB', 'cityC' gibi birçok benzersiz dize verileri içerdiğini varsayalım … Tüm değerlerin bir kalıbı vardır. İlk dört karakter aynıdır ve sonraki bölümler değiştirilir. Dolayısıyla, bu sütunda REVERSE anahtar dizini oluşturulduğunda, Oracle dizeyi tersine çevirip bir b-tree dizininde geri yükleyecektir.

Yukarıda bahsedilen dizin türleri NUTSELLEŞTİRİLMEYEN dizinlerdir. Yani, endekslenmiş veriler tablonun dışında saklanır ve tabloya sıralanmış bir referans tutulur.

Kümelenmiş İndeks Nedir?

Kümelenmiş dizinler, dizinlerin özel bir türüdür. Tablo verilerinin fiziksel olarak depolanma biçimine göre verileri depolar. Dolayısıyla, bir tablo için birçok kümelenmiş dizin olamaz. Bir tabloda yalnızca bir kümelenmiş dizin olabilir.

Kümelenmiş ve Kümelenmemiş Dizinler arasındaki fark nedir?

1. Tablo, yalnızca bir kümelenmiş dizin olabilir, ancak bir tabloda en fazla 249 kümelenmemiş dizin olabilir.

2. Kümelenmiş dizin, birincil anahtar oluşturulduğunda otomatik olarak oluşturulur, ancak benzersiz bir anahtar oluşturulduğunda kümelenmemiş bir dizin oluşturulur.

3. Kümelenmiş dizinin mantıksal sırası, tablo verilerinin fiziksel sırasıyla eşleşir, ancak kümelenmemiş dizinlerde değil.