百科问答小站 logo
百科问答小站 font logo



C# 或者 SQL Server 生成的 GUID 有没有可能重复? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

1、反对说不会重复的答案,因为GUID严格来讲只是重复的概率比较低。

2、也反对目前所有说会重复的答案,因为他们无一例外的没有提供靠谱的解决方案,例如自增就一定不会重复?全局唯一怎么保证?

简而言之,世界上不存在绝对的事情,GUID在低强度的数据量下产生重复的概率是可以接受的,就像哈系算法的冲撞概率在一定程度下是可以被接受的。

你可以参考在你的使用场景中GUID重复的概率是否在可接受范围内,也就是不会明显成为系统的可靠性短板,不会导致无法挽回的灾难性后果。譬如说虽然会导致灾难性后果,但地震海啸和核爆也会,而在你的场景中GUID重复的概率不高于地震海啸和核爆那就没啥问题。


其实绝大多数GUID重复的场景都是不当使用造成的,例如短时间大量产生ID,计算机硬件标识被破坏,时间倒流,采用不同算法算出的GUID,自行发明有缺陷的算法等等等等,,,,


user avatar   sdflysha 网友的相关建议: 
      

有可能,但GUID数据量实在太大,以现在的生成速度,需要上百年才能产生一次重复,因此可以认为不会重复。




  

相关话题

  代码初学者,学到一段时间后,怎么寻找练手的项目? 
  C# 和 Java 哪个更像 C++? 
  “闭包是穷人的对象”,“对象是穷人的闭包”,如何理解这两句话? 
  如果让你来重新设计(或者改造)C++,你打算怎么设计或者修改? 
  为什么编程语言语法的设计不往缩小与自然语言的差别的方向发展,或者说在这个方向发展得这么慢呢? 
  为什么很多人都说使用微软技术的公司是小公司?是不是微软的技术入门简单? 
  “C++”读作「C 加加」,为什么“C#”不能读作「C 井」呢? 
  为什么基于汉字的编程语言没有流行? 
  如何编写能够监听特定程序或全系统所有Http请求的.Net程序? 
  jdk9为何要将String的底层实现由char[]改成了byte[]? 

前一个讨论
招行信用卡信用额度只有15000为何能被骗53000?
下一个讨论
程序集什么玩意?我知道其表现形式为dll和exe,但是exe不是直接执行的文件吗?而dll只是类库,供exe调用代码?





© 2025-04-24 - tinynew.org. All Rights Reserved.
© 2025-04-24 - tinynew.org. 保留所有权利