带nhibernate的c#控制台应用程序中的Hilo

带nhibernate的c#控制台应用程序中的Hilo,c#,nhibernate,C#,Nhibernate,有一个控制台应用程序,许多人会一次又一次地启动 使用hilo。每次启动应用程序并重建sessionfactory时,hilo列(next_hi)都会增加,并且会丢失带有ID的保留空间 有人有过这方面的经验吗 对于hilo生成器来说,这难道不是一个很好的特性吗 记住经常关闭的应用程序的高值和低值 许多用户?我的意思是它已经保留了一个ID空间 在这种环境下,通常没有得到充分利用 感谢您提前分享您的经验 Int64最大值为9223372036854775807。 假设每个应用程序启动时都会插入一条记录

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

有人有过这方面的经验吗

对于hilo生成器来说,这难道不是一个很好的特性吗 记住经常关闭的应用程序的高值和低值 许多用户?我的意思是它已经保留了一个ID空间 在这种环境下,通常没有得到充分利用


感谢您提前分享您的经验

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

假设应用程序每秒向数据库中插入50000条记录

92233720368547758/50000=184467440737095.51614秒=2135039823.34601291828703703703737天=5930666年

你还在担心吗