关于主键 GUID 自增int 代码维护的int 没分 感兴趣的欢迎讨论下

qiushuangju1 2012-05-16 12:48:19
大家觉得主键是用GUID 还是自增int 还是代码维护的int 比较好呢。。。
当然 我们GUID或是自增int 还是代码维护的Int 都不是万能的 更加欢迎讨论一下 什么时候 用这些比较好。。。。。。。
...全文
174 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiushuangju1 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

如果有并库的需求,guid 确实是个方便的选择。但是 guid 是有代价的,由于 guid 是随机值,用作聚簇索引时,会产生很多碎片,并且会降低空间利用率。对性能和尺寸的影响也是一个要考虑的因素。这里有一个链接,供楼主参考:使用NEWSEQUENTIALID解决GUID聚集索引问题
[/Quote]

谢谢 。。。。。
qiushuangju1 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

如果这个字段被设置为主键,那么数据库系统本身会保证它不重复。换言之,无论你怎么用“代码维护”,要不然会插入失败,要不然就绝对不会重复。为此,为什么要“代码维护”呢。GUID不但可以保证它作为主键不重复,而且可以保证它在全局环境中也不重复(重复的概率可以忽略不计),为此,你要考虑你有没有这样的需要。比如你可能会合并两个数据库表中的数据,你应该考虑GUID。但是显然GUID对最终用户不友善。比如QQ……
[/Quote]
我说的代码维护 就是主键不是业务数据 插入时 保证不重复 不能出现因为主键重复的原因插入失败,至于GUID 我想拿它给用户看或者输入的人 还没出生 至少我没见过
kqyx_cn 2012-05-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

重要的业务数据
都不要应Guid和自增长的int
[/Quote]

赞同这个。如果仅是用来标识记录,用哪个都无所谓,看实际需要。
zhujiawei7 2012-05-16
  • 打赏
  • 举报
回复
这个值得关注
IT-Style 2012-05-16
  • 打赏
  • 举报
回复
我有的时候自增长的Int和Guid一起用.
anzhiqiang_touzi 2012-05-16
  • 打赏
  • 举报
回复
重要的业务数据
都不要应Guid和自增长的int
nuoyidadi 2012-05-16
  • 打赏
  • 举报
回复
不错,我正在对你说的东西好好考虑呢!
theillusion 2012-05-16
  • 打赏
  • 举报
回复
如果有并库的需求,guid 确实是个方便的选择。但是 guid 是有代价的,由于 guid 是随机值,用作聚簇索引时,会产生很多碎片,并且会降低空间利用率。对性能和尺寸的影响也是一个要考虑的因素。这里有一个链接,供楼主参考:使用NEWSEQUENTIALID解决GUID聚集索引问题
threenewbee 2012-05-16
  • 打赏
  • 举报
回复
如果这个字段被设置为主键,那么数据库系统本身会保证它不重复。换言之,无论你怎么用“代码维护”,要不然会插入失败,要不然就绝对不会重复。为此,为什么要“代码维护”呢。GUID不但可以保证它作为主键不重复,而且可以保证它在全局环境中也不重复(重复的概率可以忽略不计),为此,你要考虑你有没有这样的需要。比如你可能会合并两个数据库表中的数据,你应该考虑GUID。但是显然GUID对最终用户不友善。比如QQ如果被设计为让每个用户登录时输入一个GUID……总之你应该根据需要决定。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧