.NET中数据库表的唯一ID

时间:2011-01-07 09:48:33

标签: .net guid uniqueidentifier

有人可以列出广泛使用的方法来生成要在数据库表中使用的唯一ID(PK或其他)

表字段是字符串总是(为了灵活性)还是GUID(紧耦合)或者只是总是使用IDENTITY?

如果它是字符串那么,当然我可以选择随时更改生成器逻辑。

凭借IDENTITY,我感到受限制,因为我必须依赖数据库。但是像发票一样在外面发布字段是不错的选择。

对于小尺寸数据说10000条记录,我必须获得哪个选项才能获得最小长度唯一但随机的字母数字?

我面临很多情况,我需要这种独特的数字用于各种目的,如果我无法通过一个好的选择思考,我必须回到良好的旧和快速的.NET Guid.newGuid.ToString()。

但我需要听取有经验的人的意见,一般的指导方针和注意事项是什么?

2 个答案:

答案 0 :(得分:1)

您只需使用以下内容即可创建唯一ID

Guid.NewGuid();

我个人更喜欢将表字段设置为唯一标识符。

答案 1 :(得分:1)

始终使用最小的ID。

如果您不需要在业务层中生成ID(例如,许多客户端在往返时保存),请在表中使用IDENTITY列,否则使用GUID,但不要将聚簇索引放在GUID列上,除非它是也是COMB GUID