Küme ve Kümesi Olmayan Dizin
Dizinler herhangi bir veritabanında çok önemlidir. Tablolardan veri alma performansını artırmak için kullanılırlar. İlişkili tablolardaki verilerden mantıksal ve fiziksel olarak bağımsızdırlar. Bu nedenle, dizinler taban tablolarının verilerini etkilemeden bırakılabilir, yeniden oluşturulabilir ve yeniden oluşturulabilir. Oracle sunucusu, ilgili tablolar eklendiğinde, güncellendiğinde ve silindiğinde DBA'nın herhangi bir katılımı olmadan dizinlerini otomatik olarak koruyabilir. Birkaç dizin türü vardır. Bunlardan bazıları.
1. B-ağacı dizinleri
2. Bitmap dizinleri
3. İşlev tabanlı dizinler
4. Ters anahtar dizinleri
5. B-ağacı küme dizinleri
Kümelenmemiş Dizin nedir?
Yukarıdaki dizin türlerinden, kümelenmemiş dizinler aşağıdadır.
• B-ağacı endeksi
• Bitmap dizini
• Fonksiyon bazlı indeks
• Ters anahtar indeksleri
B-ağacı dizinleri, veritabanlarının en yaygın kullanılan dizin türüdür. CREATE INDEX komutu veritabanında bir tür belirtmeden verilirse, Oracle sunucusu bir b-ağacı dizini oluşturur. Belirli bir sütunda bir b-ağacı dizini oluşturulduğunda, oracle sunucusu sütunun değerlerini saklar ve tablonun gerçek satırına bir referans tutar.
Sütun verileri çok seçici olmadığında bitmap dizinleri oluşturulur. Bu, sütun verilerinin düşük bir kardinaliteye sahip olduğu anlamına gelir. Bunlar veri depoları için özel olarak tasarlanmıştır ve son derece güncellenebilir veya işlem tablolarında bitmap dizinleri kullanmak iyi değildir.
Fonksiyonel dizinler Oracle 8i'den geliyor. Burada, dizinlenmiş sütunda bir işlev kullanılır. Bu nedenle, işlevsel bir dizinde, sütun verileri normal şekilde sıralanmaz. İşlevi uyguladıktan sonra sütunların değerlerini sıralar. Seçim sorgusunun WHERE kapatılması bir işlev 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'… vb. Gibi birçok benzersiz dize verisi içerdiğini varsayalım. Tüm değerlerin bir deseni vardır. İlk dört karakter aynı ve sonraki bölümler değiştirildi. Dolayısıyla, bu sütunda TERS anahtar dizini oluşturulduğunda, Oracle dizeyi tersine çevirir ve b-ağacı dizinine geri yükler.
Yukarıda belirtilen indeks türleri, KÜMELENMEMİŞ indekslerdir. Diğer bir deyişle, dizine alınan veriler tablonun dışında depolanır ve tabloya ilişkin sıralanmış bir referans tutulur.
Kümelenmiş Dizin Nedir?
Kümelenmiş dizinler, özel bir dizin türüdür. Verileri tablo verilerini fiziksel olarak saklama şekline göre depolar. Bu nedenle, bir tablo için çok sayıda kümelenmiş dizin olamaz. Bir tablonun yalnızca bir kümelenmiş dizini olabilir.
Kümelenmiş ve Kümelenmemiş Dizinler arasındaki fark nedir? 1. Tabloda yalnızca bir kümelenmiş dizin bulunabilir, ancak bir tabloda 249'a kadar kümelenmemiş dizin bulunabilir. 2. Birincil anahtar oluşturulduğunda kümelenmiş dizin 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ı ile eşleşir, ancak kümelenmemiş dizinlerde,. |