MySQL索引常见术语(索引下推、索引覆盖、最左匹配等)

一:背景

        我们在面试中都知道,对于MySQL索引是必问的。大家也应该都知道MySQL的数据结构,什么是索引。其中在面试中,面试官也经常问,你做过哪些优化?本文主要是介绍MySQL索引的一些常见术语,比如索引下推、索引覆盖、最左匹配等,这些其实也是MySQL优化的一部分,能够熟练运用也是可以提升MySQL性能。

MySQL索引常见术语(索引下推、索引覆盖、最左匹配等)_第1张图片

二:索引常见术语

2.1 聚簇索引和非聚簇索引

聚簇索引:数据和索引存储在一起,数据访问更快、叶子节点逻辑连续的所以排序、范围查找会更快。InnoDB的主键索引我们叫做聚集索引
innodb存储引擎在进行插入数据的时候,数据必须跟某个索引列存储在一起,这个索引列可以是主键,如果没有主键,选择唯一健,如果没有唯一健,选择6字节的rowid(隐藏列)来进行存储。
数据必定是跟某个索引绑定在一起的,绑定的索引叫聚簇索引(innodb只有主键索引才是聚簇索引)。
其他索引(辅助索引)的叶子存储的数据不再是一整行记录,而且聚簇索引的id值。所以聚簇索引保存数据,辅助索引加快查询速度。

非聚簇索引:数据和索引存储没有存储在一起;MYISAM的是非聚集索引,索引和数据是分开存储的

2.2 回表

你可能感兴趣的:(MySQL实战开发,索引下推,索引覆盖,MySQL优化,索引优化)