美文网首页
主键索引和普通索引

主键索引和普通索引

作者: salix_ | 来源:发表于2020-03-27 19:38 被阅读0次

一:主键索引和普通索引的定义

主键索引:根据主键建立的索引
普通索引:除了主键索引

二:例子(网上找的图,主要看下面的解释)


主键索引和非主键索引的示意图如下:

从图中不难看出,主键索引和非主键索引的区别是:非主键索引的叶子节点存放的是主键的值,而主键索引的叶子节点存放的是整行数据,其中非主键索引也被称为二级索引,而主键索引也被称为聚簇索引。

a:根据这两种结构我们来进行下查询,看看他们在查询上有什么区别。

1、如果查询语句是 select * from table where ID = 100,即主键查询的方式,则只需要搜索 ID 这棵 B+树。
2、如果查询语句是 select * from table where k = 1,即非主键的查询方式,则先搜索k索引树,得到ID=100,再到ID索引树搜索一次,这个过程也被称为回表。

b:一定会回表吗?

并不是如此,如果要查询的字段包含在查询的索引里面,就不用再回表。(这就是所谓的mysql索引覆盖
Mysql覆盖索引详解

三:主键索引的一些问题

1. 如果没主键,主键索引咋办?

mysql会创建一个隐藏列,叫rowid
给个链接https://blog.csdn.net/a158123/article/details/89818537

2.如果是联合主键,怎样建立聚簇索引

对于(a,b)建立的索引是以a为非叶子节点的key,(a,b)为叶子节点的key进行查找。

相关文章

  • 主键索引和普通索引

    一:主键索引和普通索引的定义 主键索引:根据主键建立的索引普通索引:除了主键索引 二:例子(网上找的图,主要看下面...

  • MYSQL索引

    mysql的4种常用索引类型:唯一索引,主键索引,全文索引,以及普通索引。 普通索引(INDEX):普通索引为索引...

  • 索引类型

    索引类型有: 主键索引; 唯一索引; 普通索引; 全文索引; 多列索引;

  • 7. Interview-MySQL

    1 MySQL索引类型? 普通索引,index 主键索引,primary 唯一索引,unique index 全文...

  • mysql索引总结

    1.索引 按照索引的重要性分为主键索引,唯一索引,普通索引主键索引:不能为空,不能重复。唯一索引:可以为空,但是不...

  • MYSQL-索引

    1.mysql的索引分为单列索引(主键索引-不允许空值,唯一索引-允许空值,普通索引)和组合索引. 单列索引:一...

  • 索引

    分类 mysql的索引分为单列索引(主键索引,唯一索引,普通索引)和组合索引.单列索引:一个索引只包含一个列组合索...

  • MySQL常用索引

    1.主键索引 主键索引必定是唯一索引,且不允许空值 2.唯一索引 除开取值唯一以外,与普通索引没有区别 3.普通索...

  • MySQL索引类型

    MySQL的索引类型: 1.普通索引 2.唯一索引 3.主键索引 4.组合索引 5.全文索引 普通索引 ind...

  • mysql 索引笔记!

    mysql的索引分为单列索引(主键索引,唯一索引,普通索引)和组合索引. 单列索引:一个索引只包含一个列,一个表可...

网友评论

      本文标题:主键索引和普通索引

      本文链接:https://www.haomeiwen.com/subject/lwjluhtx.html