Lo, anahtar boşluğunu, bir insanın mantıklı bir şekilde seçebileceği anlamlı boyut aralıklarından (örneğin, bir seferde 200 anahtar elde etmek) ziyade, tipik olarak bazı makine kelime boyutuna bağlı olarak büyük parçalara ayıran önbelleğe alınmış bir ayırıcıdır.
Hi-Lo kullanımı, sunucu yeniden başlatıldığında çok sayıda anahtarı boşa harcama ve büyük insan dostu olmayan anahtar değerler oluşturma eğilimindedir.
Hi-Lo ayırıcıdan daha iyi olan "Lineer Chunk" ayırıcıdır. Bu tablo benzeri bir ilkeyi kullanır, ancak küçük, uygun büyüklükte parçalar ayırır ve hoş insan dostu değerler üretir.
create table KEY_ALLOC (
SEQ varchar(32) not null,
NEXT bigint not null,
primary key (SEQ)
);
Bir sonraki, örneğin 200 anahtarı ayırmak için (bunlar sunucuda bir aralık olarak tutulur ve gerektiği gibi kullanılır):
select NEXT from KEY_ALLOC where SEQ=?;
update KEY_ALLOC set NEXT=(old value+200) where SEQ=? and NEXT=(old value);
Bu işlemi gerçekleştirebilmeniz (çekişmeyi işlemek için yeniden deneme yöntemlerini kullan) şartıyla, 200 anahtar ayırdınız ve gerektiğinde dağıtabilirsiniz.
Yığın boyutu sadece 20 olan bu şema, bir Oracle dizisinden ayırmaktan 10 kat daha hızlıdır ve tüm veritabanları arasında% 100 taşınabilir. Tahsis performansı hi-lo'ya eşdeğerdir.
Ambler'in fikrinden farklı olarak, anahtar boşluğuna bitişik doğrusal bir sayı satırı gibi davranır.
Bu, kompozit anahtarların (gerçekten iyi bir fikir olmadı) hızını önler ve sunucu yeniden başlatıldığında tüm sözcüklerin israfını önler. "Dost", insan ölçeğinde anahtar değerler üretir.
Bay Ambler'in fikri, karşılaştırma olarak, yüksek 16 veya 32 biti ayırır ve yüksek kelimelerin artması olarak büyük insan dostu olmayan anahtar değerler üretir.
Tahsis edilen anahtarların karşılaştırılması:
Linear_Chunk Hi_Lo
100 65536
101 65537
102 65538
.. server restart
120 131072
121 131073
122 131073
.. server restart
140 196608
Tasarım açısından çözümü, karşılaştırma çizgisi elde edilmeden sayı çizgisinde (bileşik anahtarlar, büyük hi_word ürünleri) Linear_Chunk'tan daha karmaşıktır.
Hi-Lo tasarımı OO haritalamasında ve kalıcılığında erken ortaya çıktı. Bugünlerde Hazırda Bekleme gibi kalıcılık çerçeveleri varsayılan olarak daha basit ve daha iyi ayırıcılar sunar.