Hilo在c#console app中使用nhibernate

时间:2009-10-07 11:00:57

标签: c# nhibernate

拥有一个控制台应用程序,其中许多人将一遍又一遍地重新开始 并使用希洛。每次启动应用程序并重建sessionfactory时,hilo列(next_hi)将会增加,并且带有ID的保留空间将丢失。

有没有人有这方面的经验?

对于hilo-generator来说,这不是一个很好的功能 记住经常被关闭的应用程序的高值和低值 很多用户?我的意思是它已经预留了一个空间,其中 在那种环境中往往没有得到充分利用。

感谢您提前分享您的经验!

1 个答案:

答案 0 :(得分:8)

Int64最大值为9223372036854775807。 让我们假设每个应用程序启动时您将插入一条记录并丢失99个ID。 这意味着你有9223372036854775807/100 = 92233720368547758有效ids。

让我们假设您的应用程序每秒将50000条记录插入数据库。

92233720368547758/50000 = 184467440737095.51614秒= 2135039823.346012918287037037037天= 5930666年。

你还在担心吗?