SQL SERVER 数据库表主键类型浅析

本文赞同:

①主键是必需的

②主键应和业务无关

③主键是单列的

④自记录插入后,主键不会被更新

===========================================================

1.自动增长的数值类型

  即新建一个ID字段,自动增长。
  优点:数字型,占用空间小,易排序。数据库自动编号,速度快。增量增长,聚集型主键按顺序存放,有利于检索非常。
  缺点:手动要插入指定ID的记录时会显得麻烦,尤其是当系统与其他系统集成时,需要数据导入时,很难保证原系统的ID不发生主键冲突。

2.控制增长的字符串类型

  是第一种方案的改进版。为方便以后的数据导入,可以用字符串类型存储纯数字的主键(纯数字好处不啰嗦)。用一张表维护最后插入记录的主键,解决max()带来的性能问题,并用存储过程为新插入的记录生成主键。

3.GUID

  优势:具有唯一性,在任何情况下,可以产生全球唯一的值,方便数据导入。
  不足:结构过长且无序,不易记忆,索引的空间大,所以检索时间长。GUID的产生不是以一定的次序产生,对于按主键物理索引的数据库来说,当新的GUID进来时,它会把所有GUID重新排序,这将影响数据插入效率。

posted @ 2012-02-19 12:26  布洛瓷  阅读(1419)  评论(0编辑  收藏  举报