Explain

使用EXPLAIN关键字可以模拟优化器执行SQL语句,分析你的查询语句或是结构的性能瓶颈
在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条SQL
注意:如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中

id:表示sql中几个select的执行顺序,id越大,执行优先级越高。
select_type:执行的复杂程度,有simple,primary,derived等
table:执行的是哪张表
paririons:表的分区
type:
这一列表示关联类型或访问类型,即MySQL决定如何查找表中的行,查找数据行记录的大概范围。
依次从最优到最差分别为:system>const>eq_ref>ref>range>index>all
一般来说,得保证查询达到range级别,最好达到ref

possible_keys:可能使用的索引
key:实际使用的索引
key_len:实际使用的索引的长度
ref:这一列显示了在key列记录的索引中,表查找值所用到的列或常量,常见的有:const(常量),字段名(例:film.id)
rows:此次查询结果可能的列数
filtered:符合某条件的记录数百分比。
只要执行两条sql语句,一条有where,一条无where,就可以看出filtered的作用。
Extra:

  • Using index:使用覆盖索引 Using where:使用 where 语句来处理结果,并且查询的列未被索引覆盖 Using

  • index condition:查询的列不完全被索引覆盖,where条件中是一个前导列的范围 Using

  • temporary:mysql需要创建一张临时表来处理查询。出现这种情况一般是要进行优化的,首先是想到用索引来优化 Using

  • filesort:将用外部排序而不是索引排序,数据较小时从内存排序,否则需要在磁盘完成排序。这种情况下一般也是要考虑使用索引来优化的

  • Select tables optimized away:使用某些聚合函数(比如 max、min)来访问存在索引的某个字段是

Explain的解读相关推荐

  1. 【全网最全】 |MySQL EXPLAIN 完全解读

    TIPS 本文基于MySQL 8.0编写,理论支持MySQL 5.0及更高版本. EXPLAIN使用 explain可用来分析SQL的执行计划.格式如下: 1 2 3 4 5 6 7 8 9 10 1 ...

  2. mysql explain

    电脑系统 win 10 数据库版本 mysql 8.0    官方文档 navicat  11.1.13 参考: 官方--8.8.2 EXPLAIN输出格式 explain之二:Explain 结果解 ...

  3. 你真的会用EXPLAIN么,SQL性能优化王者晋级之路

    MySQL 8.0新特性专栏目录 <MySQL开发规范>过时了,视图查询性能提升了一万倍 你真的会用EXPLAIN么,SQL性能优化王者晋级之路 索引三剑客之降序索引和不可见索引 千呼万唤 ...

  4. Oracle优化05-执行计划

    思维导图 系列文章 Oracle-SQL Explain Plan解读 概述 如果要分析某条SQL的性能问题,通常来讲,我们首先要看SQL的执行计划,看看SQL的每一步执行计划是否存在问题. 如果某一 ...

  5. 流量洪峰成为常态,腾讯数据库如何高性能支撑海量SQL查询?

    今天分享的主题是TDSQL-SQL引擎架构的演进和查询优化实战.今天分享分为四章,分别是:TDSQL简介.SQL引擎简介.SQL引擎查询处理和最佳实践. 点击图片收看直播回放及下载讲师PPT 1. T ...

  6. sql plus 表的总记录数是多少_直播回顾 | 亿级并发丝毫不虚,TDSQL-SQL引擎是如何炼成的...

    腾讯云数据库国产数据库专题线上技术沙龙正在火热进行中,3月19日唐颢的分享已经结束,没来得及参与的小伙伴不用担心,以下就是直播的视频和文字回顾. 关注"腾讯云数据库"公众号,回复& ...

  7. thread local性能 c++_MySQL 5.7 amp; MySQL 8.0 性能对比

    (给数据分析与开发加星标,提升数据技能) 来源:jiaxin_12 https://www.cnblogs.com/YangJiaXin/p/11234591.html 背景 测试mysql5.7和m ...

  8. mysql 快速入门,SOAR 101 快速入门指南

    本文介绍了soar可以提供的功能以及一些使用场景,并给出相关用例. 上篇文章回顾: soar开源两周以来,在Github获得了社区2700+颗星的支持,这期间有很多的开源社区同学参与到soar的成长当 ...

  9. 数据库案例集锦 - 开发者的《如来神掌》

    标签 PostgreSQL , PG DBA cookbook , PG Oracle兼容性 , PG 架构师 cookbook , PG 开发者 cookbook , PG 应用案例 背景 「剑魔独 ...

最新文章

  1. apache2部署django以及静态文件
  2. ssm 使用中的一些问题
  3. ubuntu中PyCharm的安装与卸载
  4. 无锡锡东2021高考成绩查询,2021年无锡高考成绩查询网址,无锡高考成绩查询系统时间安排...
  5. POJ 2299 Ultra-QuickSort(树状数组 + 离散)
  6. ABAP和Java里的单例模式攻击
  7. oracle 根据分隔符提取,oracle使用指定分隔符导出数据到文件
  8. 16 CO配置-控制-产品成本控制-产品成本计划编制-定义成本构成结构
  9. [导入]MSIL: call callvirt
  10. 初探 performance – 监控网页与程序性能
  11. matlab2c使用c++实现matlab函数系列教程-histc函数
  12. 几种常用的抽奖方案综述(草稿)
  13. Nginx常用配置和使用详解梳理
  14. 跟着海盗头子创业是一种怎样的体验?
  15. 95前的中年人,00后的「社交玩法」了解一下?
  16. 哮喘模型造模构建制备 治疗哮喘新药的药效学评估
  17. Latex 打勾 打叉
  18. 一维信号卷积与图像卷积的区别
  19. Ansible企业运维实例(三)—批量硬盘初始化
  20. 第一次亲密接触IT技术(第一天)

热门文章

  1. 巴菲特致股东的一封信:1998年
  2. 【已更新】万能门店小程序独立版V5.1二开完整版 无限DIY+不限制小程序生成数量+数10款插件
  3. CSS颜色属性、文本文字属性、属性继承
  4. CSDN 社区云 2022 年中小结
  5. php: pcntl_signal信号处理
  6. 航空中的QNH QNE QFE分别都是什么
  7. three.js使用外部模型创建动画,使用GLTF格式文件动画创建动画(vue中使用three.js71)
  8. 喊你来学习:这些技术微信号你关注了吗?
  9. 大三升大四暑假找工作总结
  10. python之列表方法大全