代码之家  ›  专栏  ›  技术社区  ›  Ryan David Hocking

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

  •  0
  • Ryan David Hocking  · 技术社区  · 12 年前

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

    我应该放弃PK还是索引以获得最佳结果 INSERT 速度?然后重新创建它们?

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

    2 回复  |  直到 10 年前
        1
  •  2
  •   Dan Bracuk    12 年前

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

    你不应该丢掉你的主键。

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

        2
  •  0
  •   Hardik Parmar    12 年前

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

    指数 :索引帮助我们非常快速地获取数据。

    关于主键的非常重要的概念;指数

    假设您的列用主键标记,则会自动创建Clustered Index, 如果表中没有杂乱的索引

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

    sp_helpindex Index_Name 
    

    -关于索引:

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

    -关于主键:

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

    推荐文章