一个键被选定为主键,我认为有以下四个原则:
唯一性
这是必须的,因为键的目的就是为了唯一标识一条记录。
不可 NULL
这也是必须的,为 NULL,则无法唯一标识一条记录。
最小性
主键越小,利用主键查找记录时性能就越高。一般来说:
可索引性
用主键的目的是唯一标识一条记录,同时也是为了快速地找到该条记录,所以具有可索引性可以快速找到到该记录,如果没有索引,就要求是 CLUSTERED,聚集的,这样也可以快速找到该记录。其实 SQL Server 中,主键本身就是可索引的,不管是不是 CLUSTERED,也就是说主键既是约束又是索引,但键只是一种约束。
相关阅读