[quote=引用 19 楼 sz_haitao 的回复:] guid转64位,估计就很难撞车了。。。。 只是bigint还是大了一点,char(22)就更大了 因为这类记录(各地的系统生成的流程模板里面的节点)的数据量总体都不会很大,希望int32能唯一就最好了
guid转64位,估计就很难撞车了。。。。 只是bigint还是大了一点,char(22)就更大了 因为这类记录(各地的系统生成的流程模板里面的节点)的数据量总体都不会很大,希望int32能唯一就最好了
系统可能在不同位置有自己的数据库,最终可能合并在一起
[quote=引用 8 楼 sz_haitao 的回复:] [quote=引用 7 楼 DelphiGuy 的回复:] 你是否要求特定的GUID映射为特定的int64/int?如果不是的话可以引入某种随机量参与运算。
[quote=引用 7 楼 DelphiGuy 的回复:] 你是否要求特定的GUID映射为特定的int64/int?如果不是的话可以引入某种随机量参与运算。
谢谢 不过32位时,123497个guid里,也出现了2对撞车的: !32!{760A3509-4BFF-45EF-AF12-5CD78695F2E1}FC9DBE78 23420{25EC5239-D754-42FA-880B-0257CD626332}FC9DBE78#113472 !32!{C796FA6D-553B-45A3-8EDB-F95B87BD78B9}752BEDA8 16872{B9DC4A0E-F1E3-4916-969E-A48D73AAD9A4}752BEDA8#103241
{B0B21AFF-D6D9-4B50-B63D-A3519BBBC105} 用啥算法求出的 0DC25B46 ?
CreateGUID(g); pb:=@g; p:=Pint(pb); d:=p^; for i:=1 to SizeOf(Tint)-1 do Begin inc(pb,SizeOf(Tint)); p:=Pint(pb); t:=p^; d:=d xor ror(t,i*3); End; s16:=Format('%.8x',[d]);
你是否要求特定的GUID映射为特定的int64/int?如果不是的话可以引入某种随机量参与运算。
16,748
社区成员
33,247
社区内容
加载中
试试用AI创作助手写篇文章吧