sql EXPLAIN 详解 type\rows
Explain
MySql提供了Explain
命令,它可以对你的sql语句进行分析,返回你的sql执行的详细信息,以供开发人员针对性进行优化
。
我们可以查看该sql是否使用索引、是否做全表扫描、性能瓶颈、执行的效率怎么样…等等
EXPLAIN介绍
EXPLAIN 指令提供了 MySQL 如何执行一条 SQL 语句的信息。通过使用 EXPLAIN,我们可以查看 SQL 语句的执行方式,进而排查 SQL 语句的瓶颈,然后进行优化。
Explain语法
Explain [ select语句 ]
示例
- 例如分析一条select语句
我是用的Navicat软件运行的sql语句,explain 出来的信息有12列,下面我会列出来我常用到的:
select_type
查询过程中,每个select句子的类型
Simple
简单select,不使用union或子查询等Primary
查当存在子查询时,最外层的select永远被标记为Primary主查询Union
union中第二个语句或后面的select语句Dependent Union
union中第二个语句或后面的select语句,独立于外部查询Union Result
Union结果,连接几个表查询后的结果SubQuery
子查询中的第一个selectDependent SubQuery
子查询中的第一个select,取决于外面的查询Derived
子查询在from子句中,MySql会把结果放在临时表中Uncacheable SubQuery
一个子查询的结果不能被缓存,必须重新评估外链接的第一行- …
type
常见的扫描方式
扫描方式由快到慢: System > Const > eq_ref > ref > range > index > All
System
系统表,少量数据(mysql服务启动时已加载在内存中,不需要进行磁盘IO)Const
常量连接(最多之返回一行数据,速度快)eq_ref
主表索引 或 非空唯一索引 等值扫描ref
非主键非唯一索引(普通非唯一) 等值扫描range
范围扫描(索引上范围查询,在索引上扫码特定范围的值)index
索引树扫描(扫描索引上全部数据,仅比All扫描快一点)All
全表扫描(如果id不建索引,则全表扫描)
rows
表示MySQL根据表统计信息及索引选用情况,估算找到结果集 需要扫描读取数据的行数。
- 原则上,rows越少越好
- 被扫描的行数,该数值越大,意味着需要扫描的行数,相应的耗时更长。
需要注意的是,输出的rows只是一个估算值,不能完全对其百分百相信
推荐内容
- MySql . Group_Concat 函数
将一个分组中的指定元素(列或表达式)的值,拼接成一个字符串返回。
- MySql . Concat_WS()函数
通过分隔符,将2个及多个字段元素顺序拼接在一起,返回拼接后的字符串。
- MySql . Field()函数
返回一个指定的值 在给定的列表中的 索引(排序、数据优先级)。
- MySql . CEIL()函数
- 返回大于或等于制定数字的最小整数值。sql取余数…
- MySql . ROW_NUMBER()函数
- 返回的结果集中的每一行 生成一个序列号(为行分配序号)…
sql EXPLAIN 详解 type\rows相关推荐
- Mysql Explain 详解
Mysql Explain 详解 一.语法 explain < table_name > 例如: explain select * from t3 where id=3952602; 二. ...
- MySQL之SQL优化详解(二)
目录 MySQL之SQL优化详解(二) 1. SQL的执行顺序 1.1 手写顺序 1.2 机读顺序 2. 七种join 3. 索引 3.1 索引初探 3.2 索引分类 3.3 建与不建 4. 性能分析 ...
- 20200817-Mysql 底层数据结构及Explain详解
Mysql 底层数据结构 常见面试题 索引 数据结构 二叉树 B-tree B+tree Hash 存储引擎 MyISAM存储引擎索引实现 非聚集索引 InnoDB存储引擎索引实现 辅助索引 联合索引 ...
- JAVA中Explain注解用法,mysql之explain详解(分析索引最佳使用)
mysql之explain详解(分析索引最佳使用) mysql explain用于分析sql 语句的执行及数据库索引的使用.本文将致力于帮助大家充分理解explain所返回的各项参数,从而使大家快速掌 ...
- MySQL高级之explain详解
MySQL高级之explain详解 文章目录 MySQL高级之explain详解 一.expalin命令详解 1.使用方式 2.结果显示 3.主要的字段信息 4.作用 二.id字段 三.select_ ...
- MySQL Explain详解,分析语句为何运行慢
MySQL Explain详解 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语 ...
- php mysql explain_MySQL Explain详解
MySQL Explain详解 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语 ...
- 数据库 explain详解
数据库 explain详解 文章目录 数据库 explain详解 1.什么是explain 2.explain有什么用 3.explain个字段详解 3.1 id详解 3.2 select_type ...
- MySQL Explain详解,explain查询结果每列含义详细解释
转自:https://www.cnblogs.com/xuanzhi201111/p/4175635.html MySQL Explain详解 在日常工作中,我们会有时会开慢查询去记录一些执行时间比较 ...
最新文章
- 构建一个移动应用程序要花多少钱?
- Python中双冒号的作用[::]
- centos mysql单向同步,虚拟机下实现Centos5.6下Mysql双向同步配置
- proxmoxve打造云桌面_[pve][vdi]用deskpool创建基于proxmoxVE的桌面云
- eagle8.6 linux 补丁,Ubuntu 12.04无法安装Eagle-6.x 解决方法
- NIPS2019 | 2019NIPS论文 | NeurIPS2019最新更新论文~持续更新| NIPS2019百度云下载
- 微机计算机继电保护原理,微机继电保护的发展历史
- CAD绘图的规范要点
- Abaqus设置初始地应力场
- 我的MIT代数拓扑笔记
- 密西根州立大学计算机qs分数,2020年密歇根州立大学QS世界排名
- C++程序设计-第2周结构体应用
- 1.一个模型,帮你找到真正热爱的工作
- win7 bcdedit
- 超市商品管理系统java
- 【ACWing】3626. 三元一次方程
- 黄褐斑激光-百花净斑方
- 利用威胁建模防范金融和互联网风险
- 服务器重装系统进入pe找不到硬盘,U盘装系统进入PE无法找到硬盘怎么办?
- 360搜索、UC浏览器等被3·15点名应用已下架;马斯克宣布通过NFT卖歌;美团App再发力社交,内测 “群聊”功能...