有人可以列出广泛使用的方法来生成要在数据库表中使用的唯一ID(PK或其他)
表字段是字符串总是(为了灵活性)还是GUID(紧耦合)或者只是总是使用IDENTITY?
如果它是字符串那么,当然我可以选择随时更改生成器逻辑。
凭借IDENTITY,我感到受限制,因为我必须依赖数据库。但是像发票一样在外面发布字段是不错的选择。
对于小尺寸数据说10000条记录,我必须获得哪个选项才能获得最小长度唯一但随机的字母数字?
我面临很多情况,我需要这种独特的数字用于各种目的,如果我无法通过一个好的选择思考,我必须回到良好的旧和快速的.NET Guid.newGuid.ToString()。
但我需要听取有经验的人的意见,一般的指导方针和注意事项是什么?
答案 0 :(得分:1)
您只需使用以下内容即可创建唯一ID
Guid.NewGuid();
我个人更喜欢将表字段设置为唯一标识符。
答案 1 :(得分:1)
始终使用最小的ID。
如果您不需要在业务层中生成ID(例如,许多客户端在往返时保存),请在表中使用IDENTITY列,否则使用GUID,但不要将聚簇索引放在GUID列上,除非它是也是COMB GUID。