Aşağıdaki sadece çılgınca çılgınca ve öfkeli ...
Tüm verileri tek bir tabloda bırakırsanız (bölümlendirme yapmazsanız), bir anahtar kullanarak O (log n) arama süresine sahip olursunuz. Dünyanın en kötü endeksini alalım, ikili ağacı. Her ağaç düğümü tam olarak bir anahtara sahiptir. 268.435.455 (2 ^ 28 - 1) ağaç düğümlü, mükemmel dengelenmiş bir ikili ağaç, 28 yüksekliğinde olur. Bu ikili ağacı 16 ayrı ağaca bölerseniz, her biri 16.777.215 (2 ^ 24 - 1) olan 16 ikili ağaç elde edersiniz. 24 yüksekliğe sahip ağaç düğümleri. Arama yolu,% 14.2857'lik bir yükseklik azaltma olan 4 düğüm tarafından azaltılır. Arama süresi mikrosaniye ise, arama süresinde% 14.2857'lik bir azalma ihmal edilebilir düzeyde değildir.
Şimdi gerçek dünyada, bir BTREE endeksinde birden fazla anahtar bulunan treenodes olacaktı. Her BTREE araması, sayfa içinde ikili bir arama yaparak başka bir sayfa için olası bir terbiyeciyi gerçekleştirir. Örneğin, her bir BTREE sayfası 1024 anahtar içeriyorsa, 3 veya 4 olan bir ağaç yüksekliği norm olur, aslında kısa bir ağaç yüksekliği.
Bir tablonun bölünmesinin zaten küçük olan BTREE'nin yüksekliğini azaltmadığına dikkat edin. 260 miliyon sıraya bölünmesi göz önüne alındığında, aynı yükseklikte birden fazla BTREE'ye sahip olma olasılığı bile güçlüdür. Bir anahtar aramak, her seferinde tüm kök BTREE sayfalarından geçebilir. Sadece bir tane gerekli arama aralığının yolunu yerine getirecektir.
Şimdi bunu genişletin. Tüm bölümler aynı makinede var. Her bölüm için ayrı diskleriniz yoksa, disk g / Ç ve iş mili dönüşleri bölüm arama performansının dışında otomatik bir darboğaz olarak sahip olacaktır.
Bu durumda, veritabanıyla ayrıştırma, kimliği utitlized olan tek arama anahtarı ise, ya hiçbir şey satın almazsınız.
Verilerin bölümlendirilmesi, aynı sınıfta mantıksal ve tutarlı olan verileri gruplandırmaya hizmet etmelidir. Verileri doğru bir şekilde gruplandırıldığı sürece her bir bölümü arama performansının ana düşünce olması gerekmez. Mantıksal bölümlemeyi elde ettikten sonra, arama süresine odaklanın. Verileri yalnızca kimlik numarasıyla ayırıyorsanız, okuma veya yazma için birçok veri satırına asla erişilemeyebilir. Şimdi, bu çok önemli bir husus olmalı: En sık erişilen tüm kimlik numaralarını bulun ve buna göre bölün . Daha az erişilen tüm kimlikler, 'mavi ayda bir kez' sorgusu için dizin aramasıyla hala erişilebilen büyük bir arşiv tablosunda bulunmalıdır.
Genel etki en az iki bölümden oluşmalıdır: Biri sık erişilen kimlikler için diğeri de kimlikleri geri kalanı için diğer bölümler. Sık erişilen kimlikleri oldukça büyükse, isteğe bağlı olarak bunu bölümlendirebilirsiniz.