MySQL 聚集索引和非聚集索引
MySQL 索引 面试 大约 365 字聚集索引
聚集索引确定表中数据的物理顺序,每一行数据按照聚集索引物理上排序。
InnoDB
存储引擎必须有且仅有一个聚集索引。
聚集索引存储的是这一行的数据本身(不是指针)。
必要要有聚集索引,并不代表一定要有主键。
- 如果定义了主键,主键就是聚集索引。
- 如果没有定义主键,第一个非空
not null
且唯一unique
的列是聚集索引。 - 如果没有符合的列,
MySQL
就会自动创建一个隐藏的row id
作为聚集索引。
非聚集索引
除了聚集索引以外的索引都是非聚集索引,分成普通索引、唯一索引、全文索引。
非聚集索引就像新华字典的偏旁字典,它的结构顺序与实际存放顺序不一定一致。
非聚集索引存储的是这一行的数据的主键的值(也不是指针)。
非聚集索引二次查询问题
可使用MySQL
的覆盖索引解决。
可参考之前文章:MySQL中的覆盖索引
阅读 1252 · 发布于 2021-05-19
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb扫描下方二维码关注公众号和小程序↓↓↓

昵称:
随便看看
换一批
-
Spring Boot Gradle 项目添加本地 jar 包依赖阅读 3385
-
Spring Boot 配置文件读取系统环境变量阅读 554
-
Spring Boot 2.3.0 不再包含 Validation阅读 1789
-
软考-系统架构设计师:局部性原理阅读 1761
-
软考-系统架构设计师:规范化理论-函数依赖阅读 1228
-
Linux 查看文件夹总大小阅读 1798
-
设计模式之策略模式阅读 2549
-
软考-系统架构设计师:局域网阅读 1522
-
OpenResty 中使用 lua-resty-http 完成 HTTP 请求阅读 11654
-
minikube start Unable to determine current user's administrator privileges阅读 179