MySQL 聚簇索引和非聚簇索引有什么区别?

聚簇索引(主键索引)、非聚簇索引(二级索引)。

这两者之间的最主要的区别是 B+ 树的叶子节点存放的内容不同:

  • 聚簇索引的 B+ 树叶子节点存放的是主键值+完整的记录
  • 非聚簇索引的 B+ 树叶子节点存放的是索引值+主键值

在这里插入图片描述

在这里插入图片描述

所以,当在查询时使用了二级索引

如果查询的数据不在二级索引里,就会先检索二级索引,找到对应的叶子节点,获取到主键值后,然后再检索主键索引,就能查询到数据了,这个过程就是回表

如果查询的数据能在二级索引里查询的到,那么就不需要回表,这个过程就是覆盖索引

在这里插入图片描述

相关推荐

  1. MySQL索引索引区别

    2024-07-16 01:14:01       61 阅读
  2. mysql索引

    2024-07-16 01:14:01       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 01:14:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 01:14:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 01:14:01       58 阅读
  4. Python语言-面向对象

    2024-07-16 01:14:01       69 阅读

热门阅读

  1. Websocket发一条阻塞了,后面的消息会怎么样

    2024-07-16 01:14:01       21 阅读
  2. 网络编程part2

    2024-07-16 01:14:01       22 阅读
  3. typora图片问题以及快捷键问题汇总

    2024-07-16 01:14:01       22 阅读
  4. [Selenium]C#语言中的等待策略的应用与实现

    2024-07-16 01:14:01       18 阅读
  5. 刷题——有效括号序列

    2024-07-16 01:14:01       24 阅读