是不是设计时都应该用整形(自增)来做主健?

scbb 2003-08-31 09:58:18
用int做主健要比char好? 存储容量好点,查询的时候更快?有这个说法吗?
而且主健设计的时候不应该把含义放进去?是个坏习惯?

比如student表,主健是std99001,std990002....
应该用0,1,2...........
然后多加个字段表示含义? 这样用整形(自增)做主健查询速度快? 是不是?
而且保存也用了比char要存储空间小?
...全文
153 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
huishen 2003-09-01
  • 打赏
  • 举报
回复
还是按部就班吧。
scbb 2003-09-01
  • 打赏
  • 举报
回复
嗨~
hbwhwanghua 2003-09-01
  • 打赏
  • 举报
回复
学习中,两种方式各有利弊,我想两者结合一定更好!
scbb 2003-09-01
  • 打赏
  • 举报
回复
再问一遍,是不是
用整型做主健比char要查询快? 有这个说法吗?

11这个数字,用char的话,在内存里表示为

110001 00110001

而用int的话,表示为

1011

你说CPU在比较上面上个二进制数字的时候,哪个快?我这里仅仅是11,如果是24892984这种数字,那用char表示的话,就远远比int要浪费内存了,同时运算也慢许多。

这些对吗?

zarge 2003-08-31
  • 打赏
  • 举报
回复
具体情况具体分析
qingbai 2003-08-31
  • 打赏
  • 举报
回复
当然用INT比CHAR做主分键好!可看看有关数据库设计方面的专著便知
mjhnet 2003-08-31
  • 打赏
  • 举报
回复
学生表最好用学号作关键字了
hjb111 2003-08-31
  • 打赏
  • 举报
回复
用INT比CHAR做主分键好,没有这种说法!你所说的含义可以放进去呀!
scbb 2003-08-31
  • 打赏
  • 举报
回复
我是提问者。

那有没有用整型做主健比char要查询快? 有这个说法吗?

大家能不能举什么名著的例子?都是自己感觉? 有没有证据呢?
ahoo 2003-08-31
  • 打赏
  • 举报
回复
一般信息系统数据库的实体表设计,应该以无意义的字段作为主键,一般是整形(自增)。想想看,如果学生表以学号作为主键,一旦用户将学号输入出错,而要进行修改,是否吧该学生先开除,再招进来,或再数据库库中写上一大堆触发器之类的东东。如果是无意义的字段是主键,学号上建立唯一索引,就可以少一大堆麻烦。
关系表可以看着办,不过我还是会由无意义的字段作为主键。
happydreamer 2003-08-31
  • 打赏
  • 举报
回复
不一定的,看你的需要
dddd8888 2003-08-31
  • 打赏
  • 举报
回复
具体情况具体分析, 身份证号,学号都可以做主渐
sdhdy 2003-08-31
  • 打赏
  • 举报
回复
一般说来,int做主健要比char好,不过也要看具体情况而定

34,587

社区成员

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

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