explian执行计划
MySQL为我们提供了 explain 关键字来直观的查看一条SQL的执行计划。
explain显示了MySQL如何使用索引来处理select语句以及连接表,可以帮助选择更好的索引和写出更优化的查询语句。
下面我们使用 explain 做一个查询,如下:
mysql> explain select * from payment;
+----+-------------+---------+------------+------+---------------+------+---------+------+-------+----------+-------+
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | filtered | Extra |
+----+-------------+---------+------------+------+---------------+------+---------+------+-------+----------+-------+
| 1 | SIMPLE | payment | NULL | ALL | NULL | NULL | NULL | NULL | 16086 | 100.00 | NULL |
+----+-------------+---------+------------+------+---------------+------+---------+------+-------+----------+-------+
1 row in set, 1 warning (0.01 sec)
查询结构中有12列,理解每一列的含义,对理解执行计划至关重要,下面用一个表格的形式进行说明。
列名 | 说明 |
---|---|
id | SELECT识别符,这是SELECT的查询序列号。 |
select_type |
SELECT类型,可以为以下任何一种:
|
table | 输出的行所引用的表 |
partitions | 如果查询是基于分区表的话,显示查询将访问的分区。 |
type |
联接类型。下面给出各种联接类型,按照从最佳类型到最坏类型进行排序:
一般来说,得保证查询至少达到range级别,最好能达到ref。 |
possible_keys | 指出MySQL能使用哪个索引在该表中找到行 |
key | 显示MySQL实际决定使用的键(索引)。如果没有选择索引,键是NULL。 |
key_len | 显示MySQL决定使用的键长度。如果键是NULL,则长度为NULL。在不损失精确性的情况下,长度越短越好 |
ref | 显示使用哪个列或常数与key一起从表中选择行。 |
rows | 显示MySQL认为它执行查询时必须检查的行数。多行之间的数据相乘可以估算要处理的行数。 |
filtered | 显示了通过条件过滤出的行数的百分比估计值。 |
Extra |
该列包含MySQL解决查询的详细信息
|
根据上述表格,可以在执行计划分析上提供很好的帮助。
转载于:https://www.cnblogs.com/xiufengchen/p/10407575.html
explian执行计划相关推荐
- Oracle执行计划显示
生成和显示SQL语句的执行计划,是大多数DBA.SQL开发人员以及性能优化专家经常做的工作,因为执行计划能够提供SQL语句性能相关的信息.执行计划解释了SQL语句执行的详细过程,这个过程记录了一系列的 ...
- SQL执行计划--HIT、SQLPLAN
方法1.EXPLAIN FOR EXPLIAN FOR SELECT * FROM XXXX; SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 这种方式查询的是一种仅 ...
- MySQL(三)——SQL执行计划分析
目录 一.SQL执行计划概述 二.explain字段详解 1.id 2.select_type 3.possible_keys 4.key 5. key_len 6.ref 7.rows 8.Extr ...
- Oceanbase和TiDB粗浅对比之 - 执行计划
一.前言 OceanBase和TiDB作为国内2款的比较流行的兼容MySQL协议的开源数据库使用者也越来越多,两种数据库不仅在架构原理上有较大差异,在开源方式上有较大的不同: TiDB 采用的Apac ...
- explain ref_什么是MySQL的执行计划(Explain关键字)?
本文作者王良辰,京东中台架构师,擅长分布式系统及高可用.高并发系统架构与设计.曾经为企业开发过多个通用脚手架,推崇以技术手段提升开发效率.约束开发行为. 什么是Explain Explain被称为执行 ...
- 当统计信息不准确时,CBO可能产生错误的执行计划,并在10053 trace中找到CBO出错的位置示例...
一.本文说明: 操作系统:rhel 5.4 x32 数据库:oracle 11g r2 x32 二.实验内容: ----创建一张jack表,并创建索引jack_ind---- 1 SQL> cr ...
- mysql 执行计划 什么用_简述MySQL的执行计划的作用及使用方法
作为程序员,难免要和数据库打交道,一般情况下,我们不是DBA ,但是又要写很多SQL,因此SQL效率就成了很大的问题.关于SQL效率优化,除了要掌握一定优化技巧外, 还得有很多经验的积累,但是这里我们 ...
- mysql 执行计划extra_MySQL执行计划extra中的using index 和 using where using index 的区别...
www.linuxidc.com/Linux/2017-- mysql执行计划中的extra列中表明了执行计划的每一步中的实现细节,其中包含了与索引相关的一些细节信息 其中跟索引有关的using in ...
- 查看正在执行的事务_看懂sql_trace--分析执行计划及CBO行为
概述 Oracle数据库排查问题.实验测试.优化的时候一般都会用到trace文件来分析,这里面就涉及到sql_trace跟10046事件了,下面分别做一下介绍. SQL_TRACE SQL_TRACE ...
最新文章
- 小米一键上锁工具_小米新品人脸识别智能锁:3D识别加红外,开门只需看一眼...
- imperial college rejection
- 京东的商品搜索功能是如何实现的_【干货小知识】京东商家如何优化搜索流量?...
- 《PC World》:Linux在桌面市场毫无长进 已经死亡
- jenkins job config.xml结构
- 将py文件打包成exe可执行文件
- typra修改快捷键
- linux 显示套接字统计信息,Linux 命令 - ss: 查看套接字统计信息
- 操作es_ES打野皇子操作看呆Uzi:这哥们肯定是深得Lucky真传
- 2010版EXCEL下方sheet工作表隐藏了
- android开发分页查询,Android开发中实现分页效果的简单步骤
- MyBatis学习(十)--MyBatis数据操作
- Pointer 指针
- 星舆科技北斗高精度定位网启动北斗三号服务
- [转载]深入理解vue中的slot与slot-scope
- 数据结构应用题大题笔记
- 利用神经网络逼近sin(x)函数
- 国内10大著名珠宝品牌
- 基于机器学习场景,如何搭建特征数据管理中台?
- 如何用python自动改试卷_2019Python100道面试题,你会几道?
热门文章
- 关于网络安全几个问题的整理
- SOA与微服务基本原则及对比
- SLAVE为什么一直不动了
- CSS3秘笈第三版涵盖HTML5学习笔记6~8章
- 更新 Ubuntu 系统,避免报错「校验和不符」
- 实现map window.onload加载
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 文章汇总及学习指南...
- Person Re-Identification by Multi-Channel Parts-Based CNN with Improved Triplet Loss Function
- 【数据平台】Eclipse+Scala远程开发调试关于hostname的问题
- Eclipse分栏显示同一个代码文件的设置