什么是覆盖索引和回表吗?

覆盖索引指的是在⼀次查询中,如果⼀个索引包含或者说覆盖所有需要查询的字段的值,我们就称之为覆盖索引,⽽不再需要回表查询。

⽽要确定⼀个查询是否是覆盖索引,我们只需要explain sql语句看Extra的结果是否是“Using index”即可。

以上⾯的user表来举例,我们再增加⼀个name字段,然后做⼀些查询试试。

explain select * from user where age=1;

//查询的name⽆法从索引数据获取

explain select id,age from user where age=1;

//可以直接从索引获取

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容