当插入guid作为主键时,db服务器是否会遍历每一行以确保没有重复,或者只是假设不可能或不太可能重复?
使用int,db服务器可以简单地增加密钥,但不能增加GUID
的情况答案 0 :(得分:5)
一旦你告诉它列是主键,那就是数据库的责任。
此时你不必担心,让数据库为你担心。
此外,由于这是一个主键,因此它将被编入索引。因此,您在每个行(或表扫描)中执行的性能问题并不会真正发生在此级别。数据库将使用索引文件来确保只能插入唯一值。
答案 1 :(得分:1)
所有主键都是唯一的。因此,服务器负责验证没有两行具有相同的主键。如果主键是int,varchar,guid等等,则为true。 如何验证唯一性约束是实现定义的。基本上,除非你已经证明它是一个性能障碍,否则不要让它关注你。
在过分担心表现之前,一定要做好准备。
答案 2 :(得分:0)
我猜只有它是主键或唯一键
但我知道GUID是独一无二的。