2011-05-09 10 views
10

Geçerli tasarımımda, MaxLo1000 ürününe sahip olmak için HiLo kurulumuna sahibim. Bu aşırı mı? Bu numarayı 100 gibi bir şeye indirebilir miyim ve hala iyi misiniz?HiLo algoritması için iyi bir MaxLo değeri nedir?

public class HiLoConvention : IIdConvention 
{ 
    public void Apply(IIdentityInstance instance) 
    { 
     instance.GeneratedBy.HiLo("1000"); 
    } 
} 

cevap

9

HiLo değeri, Kimlik için seçtiğiniz sayısal türün aralığından nasıl "hızlı" yazacağınızı denetler. Her zaman yeni bir NHibernate konfigürasyonu yüklenir, HiLo yeni Ids aralığı başlatılır ve uygulama bertaraf edildiğinde atılır. Uygulamanızın etkinliği düşükse ve "yavaş" bir yanma oranı istiyorsanız, 10 gibi bir şey seçin. Çünkü belirli bir uygulama yükleme/çıkarma döngüsü için tüm Ids'ı tüketme olasılığınız daha yüksektir.

Unutmayın, eğer NHibernate Ids bitti, sadece başka bir set getiriyor. Uygulamanız düzenli aralıklarla çarpılırsa, 1000’de ayarlanması, veritabanı çağrılarını azaltmak için daha mantıklı olabilir. Bu bir deneme & hata şey.