请问sql数据库中一定要有标识列吗?

数据库表一定要有标识列(即自增列)才算性能优秀吗?如何来设计数据库表达到最优呢?一定要有自增列吗?... 数据库表一定要有标识列(即自增列)才算性能优秀吗?如何来设计数据库表达到最优呢?一定要有自增列吗? 展开
 我来答
fackfeeler
2009-10-20 · TA获得超过436个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:270万
展开全部
现在的数据库基本都是关系型的,很大的问题就是数据冗余,为了解决这个问题就引入主键和外键的概念。所以能够用最小的数据量标识表中的一条记录,是数据库性能调优很关键的方法。那么表中现有的数据列如果不能唯一的标识表中记录,可能就需要多列同时使用,也就是复合主键,这样的数据库无论是编程还是查询,都很难达到理想的状态,所以只好增加一列对数据毫无用处的列,做标识列,目的就是唯一的定位记录,这是关系型数据库的惯用做法。但不是一定的,如果表中现有的属性可以唯一标识表中记录的话,就可以不用标识列,同样优秀。
带我信乐
2009-10-20 · TA获得超过1353个赞
知道小有建树答主
回答量:680
采纳率:0%
帮助的人:717万
展开全部
标识列只是用来确保一张表的一条数唯一性
一般都是主键,无需插入

你设置主键不用标识 也是可以的
必须每次插入数据取得最大ID 然后 ID+1 手动插入

这个还是要看系统的要求了,
比方说有数据
ID
1
2
3
4
5
删除第ID为3的时候结果将为
1
2
4
5

那么数据缺失了3 如果你设置了标示列,再插入ID为6,没有标示可以找到缺失插入ID可为3

至于用不用标示 个人习惯吧,标示列与性能没关系,对数据的完整性有约束
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
312486581
2009-10-20 · TA获得超过879个赞
知道小有建树答主
回答量:1095
采纳率:0%
帮助的人:539万
展开全部
无所谓的!有也可以,没有也可以,但是要有主键
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式