在自动增长列上建立主键可以吗?影不影响效率?

fyydnr 2011-10-19 09:15:31
如题
...全文
161 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
q465897859 2011-10-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 fredrickhu 的回复:]
自增列建立主键 默认是聚集索引 没有问题的
[/Quote]+1
1988_1989 2011-10-19
  • 打赏
  • 举报
回复
可以, 不影响。
--小F-- 2011-10-19
  • 打赏
  • 举报
回复
自增列建立主键 默认是聚集索引 没有问题的
NBDBA 2011-10-19
  • 打赏
  • 举报
回复
道听途说的信息需要自己过滤,自增长字段最大的缺点是影响数据迁移,一旦需要迁移的如果自增长作为主键,关联数据的处理就会很困难。在性能上,自增长字段主键几乎没有影响,而且,大部分情况下,增加自增长字段主键的原因恰恰是原来的数据表很难找到合适的主键。
fyydnr 2011-10-19
  • 打赏
  • 举报
回复
我不想修改数据库的结构,因为刚把代码写好,如果主键修改,哪很多东西又要修改,很烦
fyydnr 2011-10-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jyh070207 的回复:]
可以在自增列建主键,不过,如果有多个相同结构的数据库进行数据合并或集中汇总时,可能出现不同数据库相同表有相同的id的问题,会导致关联错误,单个数据库无需考虑
[/Quote]

哦 ,我主要是想知道是否影响数据库的性能?,我根据这一列查询和插入
zhenshz 2011-10-19
  • 打赏
  • 举报
回复
自动增长列一般都是建立在主键上,一般不会是影响效率
新建一个ID字段,自动增长,非常方便也满足主键的原则,优点是:数据库自动编号,速度快,而且是增量增长,聚集型主键按顺序存放,对于检索非常有利;数字型的,占用空间小,易排序,在程序中传递也方便;如果通过非系统增加记录(比如手动录入,或是用其他工具直接在表里插入新记录,或老系统数据导入)时,非常方便,不用担心主键重复问题,缺点是不容易插入数据
xiaoxiangqing 2011-10-19
  • 打赏
  • 举报
回复
自动增长列设为主键,是可以
jyh070207 2011-10-19
  • 打赏
  • 举报
回复
可以在自增列建主键,不过,如果有多个相同结构的数据库进行数据合并或集中汇总时,可能出现不同数据库相同表有相同的id的问题,会导致关联错误,单个数据库无需考虑
fyydnr 2011-10-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mingpei0703 的回复:]
通常的ID列不就是主键,就是自增长嘛!
[/Quote]

那就是说可以建立主键,但是有人说再自动增长列上建立主键 会影响性能,影响插入和修改、删除的性能?
是这样子的吗?
mingpei0703 2011-10-19
  • 打赏
  • 举报
回复
通常的ID列不就是主键,就是自增长嘛!
NBDBA 2011-10-19
  • 打赏
  • 举报
回复
可以
一般不影响,看情况
fyydnr 2011-10-19
  • 打赏
  • 举报
回复
还是只能在其他列上建立主键?

34,589

社区成员

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

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