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