繁体   English   中英

为什么phpMyAdmin说主键和UNIQUE约束是索引?

[英]Why does phpMyAdmin say that the primary key and the UNIQUE constraint are indexes?

根据我的理解:

  • 主键是一个约束,它防止列中出现重复的值,这与UNIQUE约束相同。
  • 索引是DBMS用来提高查询性能的数据结构。

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

在此处输入图片说明

因为他们是。

当您插入新行并在某个列上定义了UNIQUE ,数据库引擎必须浏览该列中已经存储的值,以确定插入的值是否与已存储的值发生冲突。 使用索引可以大大简化该过程。 这就是为什么所有常见的DB供应商都将唯一约束( UNIQUEPRIMARY KEY等)实现为索引(或使用索引进行备份)的原因。

通常的想法是,PK,唯一约束,索引,唯一索引,部分索引等都是相关的。 它们的属性略有不同(普通索引不会在重复项上引发错误,而唯一索引会产生错误)。 这就是为什么通常会在information_schema.indexes中找到有关PK和唯一约束的information_schema.indexes

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM