开发者

What's a good MaxLo value for the HiLo algorithm?

开发者 https://www.devze.com 2023-03-04 19:51 出处:网络
In my current design, I have HiLo setup to have a MaxLo of 1000. Is this being excessive? Could I reduce this number to something like 100 and still be ok?

In my current design, I have HiLo setup to have a MaxLo of 1000. Is this being excessive? Could I reduce this number to something like 100 and still be ok?

public class HiLoConvention : IIdConvention
{
    public void Apply(IIdentityInstance instance)
    {
开发者_如何转开发         instance.GeneratedBy.HiLo("1000");
    }
}


The HiLo value controls how "fast" you'll burn through the range of the numeric type you've selected for the Id. Anytime a new NHibernate configuration is loaded, the HiLo range of new Ids is initialized and it is discarded when the application is disposed. If your application has low activity and you want a "slow" burn rate pick something like 10 because your more likely to consume all Ids for a given application load/dispose cycle.

Remember, if NHibernate runs out of Ids, it just fetches another set. If your application gets slammed pretty regularly, then setting it at 1,000 may make more sense to reduce database calls. It a trial & error thing.

0

精彩评论

暂无评论...
验证码 换一张
取 消