使用 explain 如何判断二级索引使用后是否回表?

简介: 如何使用 explain 判断二级索引使用后,是否存在回表操作?

对于给定的查询 sql:
image.png

其 explain 输出:
image.png
是否回表判断:

通过读取 extra 列,可以判断查询是否回表:

using index 表示索引覆盖,不需要回表。
using index condition 表示索引查找,不需要回表过滤。
using index & using where 表示索引查找,但需要回表过滤。
using where 表示回表查询数据。
主键查询 不回表,但 extra 列无法反映。
对于给定的查询,extra 列为 using where; using index; using temporary; using filesort,表明查询使用了索引 (idx_track_source_id_created_at_len_parse_result_list),但需要回表过滤条件 created_at >= now() - interval 30 day。因此,该查询会发生回表操作。

相关文章
|
9月前
|
SQL 缓存 关系型数据库
MySQL调优之关联查询、子查询优化
MySQL调优之关联查询、子查询优化
1222 0
|
JSON JavaScript 前端开发
Vue组件datepicker 400 后端Source: (PushbackInputStream); line: 1, column: 111] (through reference chain)
Vue组件datepicker 400 后端Source: (PushbackInputStream); line: 1, column: 111] (through reference chain)
2313 0
Vue组件datepicker 400 后端Source: (PushbackInputStream); line: 1, column: 111] (through reference chain)
|
9月前
|
jenkins 持续交付 Docker
docker版下载最新稳定版本的jenkins
docker版下载最新稳定版本的jenkins
622 0
|
7月前
|
Java 数据库连接 数据库
Spring Boot中配置Liquibase进行数据库管理
Spring Boot中配置Liquibase进行数据库管理
|
5月前
|
JSON NoSQL 安全
MongoDB的导入导出、备份恢复总结
这篇文章是关于MongoDB的导入导出、备份恢复操作的总结。
1141 4
|
8月前
|
Java 开发者
Java文档注解中@link与@see的使用详解
Java文档注解中@link与@see的使用详解
996 0
|
存储 关系型数据库 MySQL
varchar列的定义与索引创建在MySQL5.6和5.7下的限制
一、varchar(M)列的定义限制 其中M指的是可存储的字符长度(或字符数),而MySQL实际是按字节存储的,在不同的字符集下一个字符的字节长不同,因此这个M最大值在不同的字符集下值不同: 对于latin字符集下,因为一个字符占一个字节,所以M的最大值为65535(但实际只有65532);对于gbk字符集,因为一个字符占两个字节,所以M的最大值为32767;对于utf8字符集,因为一个字符占两到三个字节,所以M的最大值为21845。
3075 0
|
8月前
|
安全 算法 Java
在Spring Boot项目中集成Jasypt(Java Simplified Encryption)
在Spring Boot项目中集成Jasypt(Java Simplified Encryption)
277 7
|
9月前
|
消息中间件 NoSQL 数据库
jasypt配置文件密码加解密
jasypt配置文件密码加解密
91 1

热门文章

最新文章