织梦号织梦号

何其有幸,我们相遇。

主键索引和唯一索引的区别 mysql主键和唯一索引的区别

主键唯一索引和非唯一索引的区别?

主键约束比唯一索引约束严格,当没有设定主键时,非空唯一索引自动称为主键。

对于主键和唯一索引的一些区别主要如下:

 1.主键不允许空值,唯一索引允许空值

 2.主键只允许一个,唯一索引允许多个 

3.主键产生唯一的聚集索引,唯一索引产生唯一的非聚集索引 

注:聚集索引确定表中数据的物理顺序,所以是主键是唯一的(聚集就是整理数据的意思)

主键索引和唯一索引的区别 mysql主键和唯一索引的区别

主键、自增主键、主键索引、唯一索引概念区别与性能区别如下 :

1、概念上的区别:

主键:指字段唯一不为空值的列。

主键索引:指的就是主键,主键没有明确的概念定义,主键既是约束,也是索引,主键是索引的一种,是唯一索引的特殊类型。创建主键的时候,数据库默认会为主键创建一个唯一索引。

自增主键:字段类型为数字、自增、并且是主键。

唯一索引:索引列的值必须唯一,但允许有空值。主键是唯一索引,这样说没错。但反火来说唯一索引也是主键就错误了,因为唯一索引允许空值,主键不允许有空值,所以不能说唯一索引也是主键。

2、性能上的区别:

查询:唯一索引 > 自增主键 > 主键(主键索引)

插入:主键 > 自增主键 > 唯一索引

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的*和相应的指向表中物理标识这些值的数据页的逻辑指针清单。 

索引有三种类型: 

  1. 唯一索引:唯一索引是不允许其中任何两行具有相同索引值的索引。当现有数据中存在重复的键值时,大多数数据库不允许将新创建的唯一索引与表一起保存。

  2. 主键索引:数据库表经常有一列或多列组合,其值唯一标识表中的每一行。该列称为表的主键。在数据库关系图中为表定义主键将自动创建主键索引,主键索引是唯一索引的特定类型。该索引要求主键中的每个值都唯一。

  3.  聚焦索引:在聚集索引中,表中行的物理顺序与键值的逻辑(索引)顺序相同。一个表只能包含一个聚集索引。如果某索引不是聚集索引,则表中行的物理顺序与键值的逻辑顺序不匹配。


转载保留:织梦号 » 主键索引和唯一索引的区别 mysql主键和唯一索引的区别

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏