这个问题你遇到过吗?

pausing 2001-12-30 09:38:00
请问在一个表中有没有必要把自动加1的栏位设为主键!不管从那方面考虑!
...全文
106 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
smartdonkey 2001-12-30
  • 打赏
  • 举报
回复
我认为有些情况将之设为主键时有必要的:
1.找不到合适的主键,用之做替代主键,不仅标识唯一(这也是小事),有时候做其他表的外键,更是方便。
2.若用之做聚簇索引,可以提高索引的查询速度,因为sqlserver用聚簇索引主键的值作为索引的存储值。
整数查询就快,而且不占用空间,速度提高很大。
3.有时候可以使用之做编号,设置identity从100000起,则所有的号就是100001,100002,100003。。。。
pausing 2001-12-30
  • 打赏
  • 举报
回复
能说清楚一些吗?
fangzhiqing2001 2001-12-30
  • 打赏
  • 举报
回复
shit!这样的问题?!
supsuccess 2001-12-30
  • 打赏
  • 举报
回复
把自动加1的栏位设为主键,没有什么意义,它本身就能标志成唯一,再把它设为主键,有点....
wlk 2001-12-30
  • 打赏
  • 举报
回复
主键可以是别的,如日期+时间,或自己生成的流水号,总比自动加1的好
pausing 2001-12-30
  • 打赏
  • 举报
回复
给个理由先!
dtmark 2001-12-30
  • 打赏
  • 举报
回复
不需要,不许要.
marvellin 2001-12-30
  • 打赏
  • 举报
回复
你觉得呢?当然不要喽
Rewiah 2001-12-30
  • 打赏
  • 举报
回复
补充smartdonkey(聪明的毛驴) 的理由:
4.sqlserver的identity有时会产生重复的ID(在并发的时候),用主键或者唯一索引可以防止!

pausing 2001-12-30
  • 打赏
  • 举报
回复
to samrtdonkey:
能说说你对聚簇索引的理解吗?
还有不管是sql还是oracle我们在查询是怎样写才能用到索引,使用索引的原理什么!
还有我如何建立外键,但两个表存在什么养的关系时使用外键,请举例说明!

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧