插入记录时主键和索引之间有什么区别?

时间:2014-08-07 17:17:09

标签: sql sql-server insert indexing primary-key

我必须将数据插入到其中包含PK的表中。我还有另一个包含聚簇索引的表。

我应该以最佳INSERT速度放弃PK或INDEX吗?然后再重新创建它们?

我会定期将数据加载到这些类型的表中,并且我希望确保在所有情况下以最快的方式使用。

2 个答案:

答案 0 :(得分:2)

主键唯一标识记录并具有其他用途。索引使选择查询运行得更快。

您永远不应丢弃主键。

在添加记录时是否删除并重新创建索引取决于具体情况。

答案 1 :(得分:0)

主键:唯一标识数据&我们无法插入重复的数据。

索引:Index帮助我们快速向我们提供数据。

关于主键的非常重要的概念&索引

假设您的列标有主键,则会自动创建Clustered Index, 如果表

中不存在任何克隆的索引

要查看您的索引是否已成功创建,您可以使用。

sp_helpindex Index_Name 

- 关于索引:

如果该列在多行中包含NULL,则无法在单个列上创建唯一索引。同样,如果列组合在多行中包含NULL,则无法在多列上创建唯一索引。这些被视为重复值以用于索引目的。

- 关于主键:

PRIMARY KEY约束中定义的所有列必须定义为NOT NULL。如果未指定nullability,则参与PRIMARY KEY约束的所有列的可为空性都设置为NOT NULL。