【问题标题】:Why does phpMyAdmin say that the primary key and the UNIQUE constraint are indexes?为什么phpMyAdmin说主键和UNIQUE约束都是索引?
【发布时间】:2018-11-26 22:17:05
【问题描述】:

根据我的理解:

  • 主键是一种约束,可以防止重复值 一列,对于 UNIQUE 约束也是如此。
  • 索引是一种数据结构,DBMS 使用它来加速 查询性能。

但是为什么phpMyAdmin会说主键和UNIQUE约束都是索引呢?:

【问题讨论】:

  • “主键是防止列中重复值的约束,与 UNIQUE 约束相同。” primary key 和 unique 键也可以提高查询性能,因为它们都被索引了..

标签: mysql phpmyadmin


【解决方案1】:

因为他们是。

当您插入新行并且在某个列上定义了UNIQUE 时,数据库引擎必须查看已存储在该列中的值以确定插入的值是否与已存储的内容发生冲突。索引大大简化了该过程。这就是为什么所有常见的数据库供应商都将唯一约束(UNIQUE、PRIMARY KEY 等)作为索引(或使用索引备份它们)。

总体思路是PK、唯一约束、索引、唯一索引、部分索引等都是相关的。它们只是具有稍微不同的属性(普通索引不会在重复项上引发错误,而唯一索引会)。这就是为什么您通常会在 information_schema.indexes 中找到有关 PK 和唯一约束的信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 2015-06-21
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多