大家好,我是神韵,是一个技术&生活博主。据说是21天成一习惯,那么有没有一个习惯可以让你坚持一年的?我来试试!
每周5讲从2021-7-19开始,今天是2021-9-11,一轮计划是2022-7-18结束。关于文章都是定位为基础,我不敢讲的太深入,因为我怕自己没时间。欢迎来点赞打卡,你们的行动将是我无限的动力。
今日主题是:查询的回表与覆盖索引
假设有张表person,数据如下id是主键索引,a是普通索引,后面的回表和覆盖索引根据此表进行。
id | name | age | a | b |
---|---|---|---|---|
1 | 神韵 | 18 | 3 | 7 |
2 | 神韵 | 18 | 8 | 9 |
3 | 神韵 | 18 | 8 | 6 |
4 | 神韵 | 18 | 9 | 5 |
5 | 神韵 | 18 | 11 | 4 |
6 | 神韵 | 18 | 15 | 3 |
7 | 神韵 | 18 | 11 | 2 |
回表就是需要查询的字段不能通过一颗索引树找到,需要去回表到主键索引去找。比如下面的查询
select * from person where a = 3;(a是普通索引)
通过a普通索引树找到主键id=1,通过1去回表,到主键索引树找到全部数据
需要查询的字段可以通过一颗索引树找到。
select id,a from person where a = 3;(a是普通索引)
通过a普通索引树找到主键id=1,次数已经是全部数据,返回。
本文结束!
ps:私信我可以进群讨论。