是否可以从HiLo切换到GUID.comb?据我所知,后者结合了HiLo的优势,即在客户端管理Ids而不是需要调用DB来获取新ID,其优点是不可能用完ID。
当前,HiLo生成的IDs太大了,以至于Int32(本来应该是Int64,但这更像是我的前任的WTF)还不够大。我们可以更改为Int64,但这仅意味着我们将在稍后而不是更快的时间内遇到问题。
由于ID不需要有意义,因此切换到GUID似乎是合乎逻辑的。但是,由于我从未尝试过进行这种转换,所以我想知道这里是否有人可以帮助我评估类似的影响。
最佳答案
实际上,切换到int64通常就足够了。请记住,您还要添加32位,将id空间乘以+/- 20亿。您确定还不够吗?
关于切换到Guid,涉及(假设有 Activity 的DB):
无论如何,虽然GUID提供了“无限”的ID并且易于生成,但它也具有缺点,即它的大小是两倍(128位),并且手工操作稍难(例如,调试时您将依赖于复制和粘贴)
关于nhibernate - 从nHibernate HiLo切换到GUID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4863484/