如何设计主键

作者:vkvi 来源:ITPOW(原创) 日期:2008-9-18

一个键被选定为主键,我认为有以下四个原则:

唯一性

这是必须的,因为键的目的就是为了唯一标识一条记录。

不可 NULL

这也是必须的,为 NULL,则无法唯一标识一条记录。

最小性

主键越小,利用主键查找记录时性能就越高。一般来说:

  • 如果有多个键,则选字段长度小的作为主键。
  • 如果键由多个字段组成,则可以考虑新建一个标识列来作为主键。这样做还方便了应用程序的开发。

可索引性

用主键的目的是唯一标识一条记录,同时也是为了快速地找到该条记录,所以具有可索引性可以快速找到到该记录,如果没有索引,就要求是 CLUSTERED,聚集的,这样也可以快速找到该记录。其实 SQL Server 中,主键本身就是可索引的,不管是不是 CLUSTERED,也就是说主键既是约束又是索引,但键只是一种约束。

相关阅读

相关文章