当前位置: 首页 >> 科技 >
InnoDB索引和空间索引一样吗?辅助索引是什么意思?
来源:创视网     时间:2022-12-08 15:50:28

InnoDB 索引

数据和索引都存储在一个文件中(.ibd)

一般情况下,聚簇索引等同于主键索引;除 聚簇索引 外的所有索引 均称为 辅助索引

InnoDB(B+Tree)叶子节点中存储的键值为索引列的值

如果是聚簇索引,数据为整行记录(除了主键值)

如果是辅助索引,数据为该行的主键值

每一张表都有一个聚簇索引

如果表中有定义主键,主键索引用作聚簇索引

如果表中没有定义主键,选择第一个不为 NULL 的唯一索引列用作聚簇索引

如果以上都没有,使用一个 6 字节长整形的隐式字段 ROWID (自增)用作聚簇索引

根据在 辅助索引树 中获取的 主键id,再到 主键索引树 查询数据的过程 称为 回表 查询

组合索引

遵循 最左匹配(最左前缀)原则:

使用 组合索引 查询时,MySQL 会一直向右匹配直至遇到范围查询(>、<、between、like)就停止匹配。

只有第一列是有序的,其它列都是无序的(最左匹配原则的原因)

推荐新闻 +
猜您喜欢 +