社区
MS-SQL Server
帖子详情
在自动增长列上建立主键可以吗?影不影响效率?
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
打赏
举报
回复
自增列建立主键 默认是聚集索引 没有问题的
中国风
2011-10-19
打赏
举报
回复
參照
http://msdn.microsoft.com/zh-cn/library/ms191131%28v=SQL.90%29.aspx
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
打赏
举报
回复
还是只能在其他列上建立主键?
什么是
主键
和外键?
一、什么是
主键
、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个
主键
比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个
主键
课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个
主键
成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可...
MySQL的表没有设置
主键
带来的问题
文章目录mysql定义了
主键
,
主键
达到最大值mysql没有定义
主键
,
主键
达到最大值缺少
主键
存在问题 mysql定义了
主键
,
主键
达到最大值 (2) 如果申明了
主键
,当
主键
达到最大值,再插入则
主键
不会再
增长
,而是报
主键
重复错误。 MySQL
主键
当达到最大值(如果为int类型,最大值为21亿多),此时再插入数据,会提示
主键
重复错误。 mysql没有定义
主键
,
主键
达到最大值 如果没有定义
主键
,InnoDB会
自动
添加一个不可见的、长度为6字节的row_id列,即不能被任何查询访问,也不能被内部使用。该row_id由
mysql外键必须是
主键
吗_mysql数据库外键、
主键
详解
一、什么是
主键
、外键:关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个
主键
比如学生表(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是一个
主键
课程表(课程编号,课程名,学分)其中课程编号是唯一的,课程编号就是一个
主键
成绩表(学号,课程号,成绩)成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记...
使用
自动
增长
的
主键
、雪花id或uuid作为Mysql
主键
的区别
使用
自动
增长
的
主键
、雪花id或uuid作为Mysql
主键
的区别 前言 前言:在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的
主键
id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究竟有什么坏处?我们就来分析这个问题,探讨一下内部的原因。 1.mysql和程序实例 1.1 要说明这个问题,我们首先来
建立
三张表 分别是user_auto_key,user_uuid,user_random_ke
mysql什么是
主键
和外键?
一、什么是
主键
、外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个
主键
比如 学生表(学号,姓名,性别,班级) 其中每个学生的学号是唯一的,学号就是一个
主键
课程表(课程编号,课程名,学分) 其中课程编号是唯一的,课程编号就是一个
主键
成绩表(学号,课程号,成绩) 成绩表中单一一个属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以学号和课程号的属性组是一个
主键
成绩表中的学号不是成绩表的主...
MS-SQL Server
34,589
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章