当前位置: 首页 > news >正文

MySQL学习----Explain

        使用Explain可以查看sql的性能瓶颈信息,并根据结果进行sql的相关优化。当使用 Explain分析 SQL 查询时,MySQL 会返回一个包含多个字段的结果集,每个字段都提供了查询执行计划的重要信息。

        

        主要输出字段详解
(1)id

        含义:SELECT 标识符

        作用:表示查询中 SELECT 子句的执行顺序

        值说明:

        id 相同:执行顺序从上到下

        id 不同:从大到小执行

        id 为 NULL:表示结果集,如 UNION 结果

        (2)select_type

        含义:SELECT 查询类型

        常见值:

                SIMPLE:简单查询(不含子查询或 UNION)

                PRIMARY:最外层查询

                SUBQUERY:子查询中的第一个 SELECT

                DERIVED:派生表(FROM 子句中的子查询)

                UNION:UNION 中第二个或后面的 SELECT

                UNION RESULT:UNION 的结果

      (3)  table

        含义:访问的表名

        说明:可能是实际表名、别名或派生表名

       (4) partitions

        含义:匹配的分区

        作用:对于分区表,显示查询将访问哪些分区

        (5)type

        含义:访问类型(连接类型)

        性能排序(从优到劣):

        system > const > eq_ref > ref > range > index > ALL

        详细说明:

        system:表只有一行记录(系统表)

        const:通过主键或唯一索引一次找到

        eq_ref:唯一索引关联查询

        ref:非唯一索引查找

        range:索引范围扫描

        index:全索引扫描

        ALL:全表扫描

        (6)possible_keys

        含义:可能使用的索引

        说明:理论上可能使用的索引,不一定实际使用

        (7)key

        含义:实际使用的索引

        说明:可能不在 possible_keys 中(优化器自行选择)

        (8)key_len

        含义:使用的索引长度(字节)

        作用:判断使用了索引的哪些部分

       (9) ref

        含义:与索引比较的列或常量

        示例:显示哪些列或常量被用于查找索引列

       (10) rows

        含义:预估需要检查的行数

        说明:基于统计信息的估算值

        (11)filtered

        含义:存储引擎返回数据在 server 层过滤后的百分比

        范围:0-100,100 表示无需过滤

        (12)Extra

        含义:额外执行信息

        常见值:

                Using index:覆盖索引

                Using where:使用 WHERE 条件过滤

                Using temporary:使用临时表

                Using filesort:使用外部排序

                Using join buffer:使用连接缓冲

                Impossible WHERE:WHERE 条件永远为假

http://www.dtcms.com/a/289537.html

相关文章:

  • 关于堆的判断
  • 【工具变量】A股上市公司企业合作文化数据集(2007-2023年)
  • 测试中的bug
  • adb常用命令
  • 5.1.4习题精讲
  • RocketMQ核心编程模型
  • Python基础-列表
  • 氛围编码(Vice Coding)的工具选择方式
  • 攻防世界-web习题-unseping-flag获取详解、总结
  • snmp攻击
  • 【CUDA进阶】Tensor Core实战教程(下)
  • 【JS逆向基础】数据库之redis
  • TypeScript环境安装和操作
  • 将 VHD/VHDX 转换为物理磁盘
  • 无 sudo 权限的环境下将 nvcc (CUDA Toolkit) 安装到个人目录 linux
  • 虚拟地址空间
  • rman清理归档
  • 2024年全国青少年信息素养大赛Scratch编程挑战赛 小低组初赛
  • 【JDK内置工具】常用工具和实战指令
  • 贝叶斯分类器的相关理论学习
  • 力扣面试150(34/150)
  • 人脸识别:AI 如何精准 “认人”?
  • Florence2-通用表征完成多种视觉任务的视觉基础模型
  • 最新轻量美化表白墙系统源码v2.0 带后台版 附搭建教程
  • 分治算法---归并
  • 智能制造——48页毕马威:汽车营销与研发数字化研究【附全文阅读】
  • Muduo库中单例模式详解
  • 【Anaconda】Conda 虚拟环境打包迁移教程
  • 基于ACPs协议的智能体互联网示例(多智能体旅游规划)
  • JMeter连接数据库