主键索引和唯一性索引有什么区别

来源:互联网 发布:js物体识别技术 编辑:程序博客网 时间:2024/04/27 23:37

最近和一个同事聊天,他问了我一个小问题,主键索引和唯一索引有什么区别? 当时一听,脑袋有点晕了,这个天天用的东西,有什么好说的呢?

后面冷静的想了想,天天用的都说不出个什么原因了,真是有点羞愧了。盲羊补牢,先补上再说了。

主键和唯一性索引区别如下:

1、主键是一种特殊的唯一性索引,索引不一定是主键;

2、主键只能有一个,唯一性索引可以设置多个;

3、主键不能为空,唯一性索引可以为空;

4、主键可以作为其他表的外键,唯一性索引不能;

5、主键是InnoDB表记录的”逻辑地址“,所以InnoDB要求表必须有主键,MyISAM可以没有。


相同点:

1、作为查询条件都可以加速查询结果;

2、数据变动后索引都需要重建,一定程度上回影响到数据库的性能;

1 0
原创粉丝点击