拥有主键列是否意味着该列上有索引?如果是这样,它是什么样的指数?
答案 0 :(得分:7)
对于SQL Server,我相信你以前的问题是你正在使用的,当你定义一个PRIMARY KEY时,它会自动在该列上有一个索引,它将默认为CLUSTERED索引。您可以在创建约束时定义它应该是NONCLUSTERED还是CLUSTERED索引。
答案 1 :(得分:4)
是的,主键意味着索引。
如果主键是群集的,则索引将成为主表文件的一部分。它不是聚集的,它将成为单独索引文件的一部分。
答案 2 :(得分:2)
这取决于数据库。
某些数据库需要或自动创建主键索引,以强制实施主键的唯一性。其他人非常乐意对桌子进行全面扫描。
您使用的是哪个数据库?
编辑:
答案 3 :(得分:1)
在任何“真实”数据库中,有主键意味着具有唯一索引。在某些数据库中,主键索引也可以/将在键值上聚类。
答案 4 :(得分:1)
在我使用的所有数据库中,PRIMARY KEY基本上只是一个独特的索引。