请教主键,索引,标志的正确使用

ChinaE114 2003-10-17 01:11:18
我看了联机帮助,但没有说他们之间的联系,我举一个简单的实际应用,高手指点一下如何做?

一个表,table,里面有ID,sid,name,等列,其中ID为数字,其他为字符,

一般不要使用ID,在读取数据库时都是搜索sid(varchar),排序也是按照sid或者name来排。sid有唯一性,但数据类型是varchar,name不具有唯一性,

问题,
1、在上面的表里,ID几乎可以不用,是否可以删除?标志是否可以不用,有什么用?
2、主键应该设置在哪个列上?
3、如何建立索引?
...全文
93 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
welyngj 2003-10-18
  • 打赏
  • 举报
回复
sorry.
alter table add [id] int identity(1,1) not null
welyngj 2003-10-18
  • 打赏
  • 举报
回复
sorry.
alter table add [id] identity(1,1) not null
welyngj 2003-10-18
  • 打赏
  • 举报
回复
create table tbl
( [id] int identity(1,1) not null,
b char(4))

表已经建成:
alter table add column [id] identity(1,1) not null
当删除数据时,会导致数据的不连贯。
比如:1,2,3,4,5
删除一个记录5,下一个不是5,而是6
结果就是:
1,2,3,4,6
在一个表中建多个索引并不一定会提高性能,索引本身就消耗系统资源。
ChinaE114 2003-10-18
  • 打赏
  • 举报
回复
■■■■■新问题:
如果设置一个ID列,想让他象ACCESS里一样自动递增,应该如何做?是不是要用到标志?为什么联机帮助说不推荐使用标志?

还有一个表里建立多个索引如何,在一个索引里建立多个列的排序是不是也达到了索引的目的?
txlicenhe 2003-10-17
  • 打赏
  • 举报
回复
1: 主键是一种唯一索引
2:在name字段上加索引与主键无关
3:自动重新统计计算? 什么意思? 与主键,索引都无关吧?
ChinaE114 2003-10-17
  • 打赏
  • 举报
回复
请问是不是右键-索引/键,里面要新建一个索引还是可以在主键下面添加一个排序??

要不要自动重新统计计算?
ChinaE114 2003-10-17
  • 打赏
  • 举报
回复
好,谢啦,
txlicenhe 2003-10-17
  • 打赏
  • 举报
回复
1:ID可以不要
2:主键建在SID上
3:对NAME建索引即可。

34,575

社区成员

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

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