您的位置:程序门 -> .net技术 -> asp.net



guid 与 自增型的int id 你会中意那个多一点?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


guid 与 自增型的int id 你会中意那个多一点?[已结贴,结贴人:devin_lee]
发表于:2007-04-10 11:08:35 楼主
请大家说说自已中意的原因
发表于:2007-04-10 11:13:081楼 得分:5
bigint,速度快
guid,移植性好
一般项目中都用bigint,太灵活就是自找麻烦
发表于:2007-04-10 11:14:212楼 得分:5
自增型的int   id   ,比较常见。
guid   太长了,查询速度也不如自增型的int   id,除非没办法,我一般不用guid
发表于:2007-04-10 11:16:163楼 得分:5
自增型用得多一些. guid感觉效率差点,且太长,存储也会变大.但数据迁移比较方便.
发表于:2007-04-10 11:18:444楼 得分:3
int型的,guid太长
发表于:2007-04-10 11:25:395楼 得分:2
都用自己写的id
发表于:2007-04-10 11:25:566楼 得分:5
字段大小:   guid:   16字节;    int:4字节(范围   0~~2的31次方-1)
表连接:   如果两表关联,如果以自增为主键,先插入到主表获得id,再插入另一表;   若guid为主键,先生成guid,然后同时插入
数据库移动:   如果在多数据库中移动数据,以自增为主键的数据需要被修改,从而确保唯一性;   而guid的就不需要
发表于:2007-04-10 11:28:027楼 得分:2
以前都用自增,现在都用guid
发表于:2007-04-10 11:28:548楼 得分:1
ding
发表于:2007-04-10 11:30:129楼 得分:1
各有优势。上面都分析了。不过我一般用自增列多
发表于:2007-04-10 11:38:5810楼 得分:1
两个都用!!!
发表于:2007-04-10 11:46:0711楼 得分:5
看具体情况,一般用自增型,有时候,当id需要利用程序生成然后再插入记录的话我就会用guid,而且,我认为guid更安全一些,因为如果是自增型的话,别人很容易可以猜到你其他记录的id,这样的话就很容易成批的获取到其他的记录了,guid就可以防止这种情况,你猜不了第二条记录的id是什么!不过,guid的效率当然会低一点拉。。
发表于:2007-04-10 11:51:5312楼 得分:5
guid对数据库中的复制,订阅.可以避免自增型的int   id重复的问题
发表于:2007-04-10 11:53:3513楼 得分:2
都用id,毕竟项目移植的机会都不大
发表于:2007-04-10 12:25:1214楼 得分:2
这可以看出你的项目的设计者的层次。

假设实例化一个“员工”对象,并且它有一个id属性用来唯一代表此员工(用姓名、身份证号等任何业务概念都不行,都会要求修改),显然它是guid型的,因为此时跟数据库完全可以不扯上什么关系。

反过来说,看起来此设计者比较传统、学生气一点。
发表于:2007-04-10 12:29:4115楼 得分:5
另外要说明一下,在sql   server中,guid是128位二进制数(8个字节),不是什么字符串。虽然sql   server也可以在t-sql语句中自动将字符串转换为guid。
发表于:2007-04-10 12:31:3616楼 得分:1
8个字节     -->     8个字(word)



快速检索

最新资讯
热门点击