我们正在运行一个 ASP.NET 数据库应用程序,它使用 HiLo 为实体生成 id。在这个应用程序之上,我们有几个使用相同数据库的网站。我们看到的是我们用完了 id 并且 ID 列变成了负数。
我们怀疑这与生成器有关。由于多个网站运行在相同的代码库和数据库之上,HiLo 算法可能很快开始生成超出 bigint 范围的 id(当然很快是相对的)。
是否可以配置生成器,使其也使用 Id 序列中的间隙(其中有很多),而不是在认为有必要时直接增加值?
那会是一个解决方案吗?或者我们应该完全做其他事情吗?