最近在熟悉建表语句,我们熟知的索引是通过index来创建的
但在过程中我了解到其实key也有索引功能,但他们两个的区别是什么呢?
我们知道主键一定是唯一性的索引,他规范一个存储主键和唯一性,但唯一性索引并不一定就是主键
key 是数据库的逻辑+物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查询用的)。
以主键为例
primary key 有两个作用:
1,约束作用(constraint),用来规范一个存储主键和唯一性
2,同时也在此key上建立了一个index;
index是数据库的物理结构,它只是辅助查询的,它创建时会在另外的表空间(mysql中的innodb表空间)以一个类似目录的结构存储。
index的作用:
只是在数据库中以物理的形式创建查询的目录,也就是建立index,仅此而已
Key在数据库中包含约束和索引两层含义,约束数据结构完整性,而Index是物理结构,用于辅助查询。主键是唯一性索引,但唯一性索引不一定是主键。主键有约束和建立索引的双重作用,而索引仅提供快速查询的功能。
的区别&spm=1001.2101.3001.5002&articleId=130481271&d=1&t=3&u=a5ca4d0844e246318dbf5ff5e99373ac)
1968

被折叠的 条评论
为什么被折叠?



