sql server是否在插入时检查重复的GUID?

时间:2009-05-09 22:22:48

标签: sql sql-server guid

当插入guid作为主键时,db服务器是否会遍历每一行以确保没有重复,或者只是假设不可能或不太可能重复?

使用int,db服务器可以简单地增加密钥,但不能增加GUID

的情况

3 个答案:

答案 0 :(得分:5)

一旦你告诉它列是主键,那就是数据库的责任。

此时你不必担心,让数据库为你担心。

此外,由于这是一个主键,因此它将被编入索引。因此,您在每个行(或表扫描)中执行的性能问题并不会真正发生在此级别。数据库将使用索引文件来确保只能插入唯一值。

答案 1 :(得分:1)

所有主键都是唯一的。因此,服务器负责验证没有两行具有相同的主键。如果主键是int,varchar,guid等等,则为true。 如何验证唯一性约束是实现定义的。基本上,除非你已经证明它是一个性能障碍,否则不要让它关注你。

在过分担心表现之前,一定要做好准备。

答案 2 :(得分:0)

我猜只有它是主键或唯一键

但我知道GUID是独一无二的。