扫码阅读
手机扫码阅读

什么是聚簇索引什么是非聚簇索引

148 2024-07-17

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:什么是聚簇索引什么是非聚簇索引
文章来源:
springboot葵花宝典
扫码关注公众号

什么是聚簇索引和非聚簇索引

本文花7分钟介绍聚集索引和二级索引(非聚集索引)的概念、结构和使用,包括回表查询和如何处理MYSQL超大分页。

1. 聚集索引和二级索引

聚集索引是数据存储和索引一体的结构,叶子节点含行数据,每个表只能有一个。二级索引是数据与索引分开的结构,叶子节点含主键,可以有多个。

1.1. 聚集索引选取步骤

聚集索引首选主键,无主键则选第一个唯一索引,都无则InnoDB生成隐藏的rowid。

1.2. 索引结构介绍

聚集索引基于主键创建,叶子节点包含行数据。二级索引的叶子节点包含字段值对应的主键值。

1.3. 回表

回表是通过二级索引找到主键,再通过主键在聚集索引中查找整行数据的过程。

2. 覆盖索引

覆盖索引是查询只需用到索引中的数据,无需回表。查询主键或索引包含的列是覆盖索引,反之则非覆盖索引。

3. MYSQL超大分页处理

针对数据量大时分页查询效率低的问题,通过创建覆盖索引和子查询形式进行优化。

4. 面试题解答

聚簇索引是数据和索引一起存储的结构,非聚簇索引则分开存储。回表查询是通过二级索引获取主键,再找到数据的过程。覆盖索引指查询只需索引数据。超大分页应使用覆盖索引和子查询优化。

原创不易,转载请注明出处。如果觉得有用,欢迎转发分享。

想要了解更多内容?

查看原文:什么是聚簇索引什么是非聚簇索引
文章来源:
springboot葵花宝典
扫码关注公众号