首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从nHibernate HiLo切换到GUID

从nHibernate HiLo切换到GUID
EN

Stack Overflow用户
提问于 2011-02-01 22:03:10
回答 1查看 999关注 0票数 6

是否可以从HiLo切换到GUID.comb?据我所知,后者结合了HiLo的优点,即在客户端管理Id,而不需要调用数据库来获取新的Id,以及不可能耗尽Id的优点。

目前,我们遇到了HiLo生成Ids太大的问题,以至于Int32 (这应该是Int64,但这更像是我的前辈的WTF )不够大。我们可以改用Int64,但这意味着我们以后会遇到问题,而不是更早。

由于Ids不需要有意义,因此切换到GUID似乎是合乎逻辑的。然而,由于我从未尝试过这样的转换,我想知道这里是否有人可以帮助我评估这样的事情可能产生的影响。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-01 23:05:48

实际上,切换到int64通常就足够了。请记住,您添加的是32位,即将id空间乘以+/- 20亿。你确定这还不够吗?

关于切换到Guid,它涉及(假设是实时数据库):

创建新的pk / fk columns

  • Filling使用新值填充pk列

  • 删除当前外键和主属性旧的pk / fk columns

  • Filling新的主属性和外属性类型和生成器id属性类型和生成器(这是涉及.net代码的唯一步骤)

不管怎么说,虽然GUID提供了“无限”的it并且很容易生成,但它也有一个缺点,那就是它的大小(128位)是GUID的两倍,并且更难手工操作(即在调试时,您将依赖于复制和粘贴

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4863484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档