根据我的理解:
但是phpMyAdmin为什么说主键和UNIQUE约束是索引?:
答案 0 :(得分:0)
因为是。
当您插入新行并且在某列上定义了UNIQUE
时,数据库引擎必须浏览该列中已经存储的值,以确定插入的值是否与已存储的值发生冲突。使用索引可以大大简化该过程。这就是为什么所有常见的数据库供应商都将唯一约束(UNIQUE
,PRIMARY KEY
等)用作索引(或用索引备份)的原因。
通常的想法是PK,唯一约束,索引,唯一索引,部分索引等都是相关的。它们的属性略有不同(普通索引不会在重复项上引发错误,而唯一索引会产生错误)。这就是为什么您通常在information_schema.indexes
中找到有关PK和唯一约束的信息。