gpt4 book ai didi

asp.net-mvc-2 - NHibernate HiLo-ids 耗尽导致负数

转载 作者:行者123 更新时间:2023-12-02 20:00:39 24 4
gpt4 key购买 nike

我们正在运行一个 ASP.NET 数据库应用程序,它使用 HiLo 为实体生成 id。除了这个应用程序之外,我们还有几个使用相同数据库的网站。我们看到的是,我们用完了 ids,并且 ID 列变成了负数。

我们怀疑这与发电机有关。由于多个网站在相同的代码库和数据库上运行,并且 HiLo 算法可能会快速开始生成超出 bigint 范围的 id(当然很快是相对的)。

是否可以配置生成器,使其也使用 Id 序列中的间隙(其中有很多间隙),而不是在认为有必要时直接增加值?

这会是一个解决方案吗?或者我们应该干脆做点别的事情?

最佳答案

你的 max_lo 设置为多少?生成id的公式如下

h = 高位序列(从 0 开始)l_size = 低 block 大小l = 低序列(从 1 开始)

ID = h*l_size + l

也许你的 max_lo 设置得很高?

关于asp.net-mvc-2 - NHibernate HiLo-ids 耗尽导致负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4852820/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com