mysql执行计划性能_MySQL SQL性能分析Explain执行计划

一. 执行计划返回信息详解

①. 执行计划所含字段

d7a3bdd469a6155d8f699a6358aeab58.png

输出列含义id查询标识

select_type查询类型

table查询涉及的表

partitions匹配到的分区信息

type连接类型

possible_keys可能选择的索引

key实际使用的索引

key_len实际使用的索引的长度

ref和索引进行比较的列

rows需要被检索的大致行数

filtered按表条件过滤的行百分比

Extra额外信息

②. id

执行计划序列号,可出现3种组合方式

第一种:id全部相同,这时会从上至下依次执

3a7d533355999a825192349ebdb78f02.png

第二种:部分id相同,这时会按照id大小从大到小执行;id相同的则会被认定为是一组执行计划,同一组遵循第一种id全相同的顺序执行

83f1b7ba820d129d1b0eefa281638d1b.pngUNION RESULT:UNION的结果

第三种:id全部不相同,这时会按照id大小从大到小执行

e7e0ad31b6417fbbc2cbc28b376080b5.png

SIMPLE:简单的select查询,查询中不包含子查询或者UNION

PRIMARY:查询中若包含任何复杂的子部分,最外层查询则被标记为

SUBQUERY:在SELECT或WHERE列表中包含了子查询

DERIVED:在FROM列表中包含的子查询被标记为DERIVED(衍生)MYSQL会递归执行这些子查询,把结果放在临时表里

UNION:若第二个SELECT出现在UNION之后,则被标记为UNION若UNION包含在FROM子句的子查询中,外层SELECT将被标记为:DERIVED

UNION RESULT:从UNION表获取结果的SELECT

④. table

查询涉及的表

⑤. partitions

由查询匹配记录的分区。非分区表为NULL

链接类型说明system表只有一行,MyISAM引擎。

const常量连接,表最多只有一行匹配,通用用于主键或者唯一索引比较时

eq_ref每次与之前的表合并行都只在该表读取一行,这是除了system,const之外最好的一种,特点是使用=,而且索引的所有部分都参与join且索引是主键或非空唯一键的索引

ref如果每次只匹配少数行,那就是比较好的一种,使用=或<=>,可以是左覆盖索引或非主键或非唯一键

fulltext全文搜索

ref_or_null与ref类似,但包括NULL

index_merge表示出现了索引合并优化(包括交集,并集以及交集之间的并集),但不包括跨表和全文索引。这个比较复杂,目前的理解是合并单表的范围索引扫描(如果成本估算比普通的range要更优的话)

unique_subquery在in子查询中,就是value in (select…)把形如select unique_key_column的子查询替换。PS:所以不一定in子句中使用子查询就是低效的!

index_subquery同上,但把形如”select non_unique_key_column“的子查询替换

range常数值的范围

index索引树扫描。a.当查询是索引覆盖的,即所有数据均可从索引树获取的时候(Extra中有Using Index);b.以索引顺序从索引中查找数据行的全表扫描(无 Using Index);c.如果Extra中Using Index与Using Where同时出现的话,则是利用索引查找键值的意思;d.如单独出现,则是用读索引来代替读行,但不用于查找

all全表扫描(full table scan)由上到下性能最好到最差

⑦. possible_keys

列出查询涉及到的字段的索引,但不一定会被使用

⑧. key

实际使用的索引,如果为NULL,则没有使用索引

⑨. key_len

表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度,在不损失精确性的情况下,长度越短越好。key_len显示的值为索引字段的最大可能长度,并非实际使用长度,即key_len是根据表定义计算而得,不是通过表内检索出的。

⑩. ref

和前方表连接的字段,const代表是常量值连接

⑪. rows

查询大致需要涉及读取的行数,越少越好

⑫. extra

包含不适合在其他列中显式但十分重要的额外信息(暂不展开)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql定时作业_mysql 让一个存储过程定时作业的代码(转)

1、在mysql 中建立一个数据库 test1语句&#xff1a;create database test12、创建表examinfocreate table examinfo(id int auto_increment not null,endtime datetime,primary key(id));3 插入数据&#xff1a;insert into examinfo values(‘1‘,‘2011-4-23 23:26:50‘);4 …

table虚线边框_web前端工程师7天0基础到精通(TABLE+CSS制作《互联世纪网》)

项目七 项目实践&#xff1a;TABLECSS制作《互联世纪网》实践目标1、 熟悉CSS属性2、 熟练运用CSS属性控制网页样式3、 熟悉网页制作流程项目简介&#xff1a;通过上一章节的学习&#xff0c;我们了解了CSS样式能更加方便、有效地控制网页结构和布局网页元素&#xff0c;大大提…

mixamo骨骼_mixamo动作库的模型和动作绑定控制器的方法-上集

1.首先从网站下载带调好动作的文件fbx&#xff0c;我们将fbx场景文件转换成c4d场景文件。没转换之前转换之后选择场次&#xff0c;在文件菜单里找到当前场次到新文档&#xff01;2.我们将模型重置为Tpose方便后续操作&#xff0c;没重置之前模型为k好的动作模式不能使用选中权重…

mysql 101_MySQL 调优/优化的 101 个建议!

原文&#xff1a;http://www.monitis.com/blog/101-tips-to-mysql-tuning-and-optimization/MySQL是一个强大的开源数据库。随着MySQL上的应用越来越多&#xff0c;MySQL逐渐遇到了瓶颈。这里提供 101 条优化 MySQL 的建议。有些技巧适合特定的安装环境&#xff0c;但是思路是相…

数据安全:保护个人隐私和企业机密的关键

在当今数字化时代&#xff0c;数据已经成为了一种宝贵的资源。无论是个人还是企业&#xff0c;都离不开数据的支持。然而&#xff0c;随着数据的不断增长和广泛应用&#xff0c;数据安全问题也日益突出。数据泄露、黑客攻击、网络诈骗等安全事件层出不穷&#xff0c;给个人和企…

python批量跑plsql_python实现自动化报表(Oracle/plsql/Excel/多线程)

# -*- coding: utf-8 -*-# Create time: 2019-10-16# Update time: 2019-11-28# Version: 1.0# Version: 2.0 增加多线程/出错自动重新运行模块# 导入模块import cx_Oracleimport osimport pandas as pdimport pandas.io.sql as sqlimport timeimport openpyxlimport xlwings a…

python 抽奖 配音乐_抖音上超好听的神曲音乐,Python教你一次性下载

不知道什么时候开始&#xff0c;中国出现了南抖音、北快手的互文格局(东市买骏马&#xff0c;西市买鞍鞯…)。刚才提到了&#xff0c;之前比较喜欢刷抖音&#xff0c;对于我这种佛系程序猿&#xff0c;看网上这些整容妹子基本一个样。喜欢抖音主要是两个初衷&#xff0c;学做菜…

oem监控mysql_OEM12c 安装配置MySQL Plug-in用来监控MySQL

Plug-in--注册信息[roottest agent]# /oem/emcli setup -urlhttps://omsdb.localdomain:7301/em -usernamesysmanOracle Enterprise Manager 12c 3.Copyright (c) 1996, 2013 Oracle Corporation and/or its affiliates. All rights reserved.The configuration directory &quo…

linux java jar打包_【Java】Java程序打包成jar包在Linux上运行

当需要把在Windows上开发的Java程序用在Linux上运行时&#xff0c;就需要吧该Java程序打包成jar包上传到Linux上去运行。1.Java程序用MyEclipse打包成可运行的jar包(1)在MyEclipse中选中需要打包的项目&#xff0c;点击右键&#xff0c;选择&#xff1a;Export... 如下图所示&a…

mysql.h 动态编译命令_Linux环境编译动态库和静态库总结

对Linux环境动态库和静态库的一些基础知识做一些总结&#xff0c;首先总结静态库的编译步骤。1 先基于.cpp或者.c文件生成对应的.o文件2将几个.o文件 使用ar -cr命令 生成libname.a文件libname.a 为静态库&#xff0c; name 为静态库的名字&#xff0c;可以根据模块功能命名。举…

python 教学_「Python基础」一次就装好Python手把手装到好

一、前言&#xff1a;安装Python有两个主要的方法&#xff0c;视情况而定我两个都会用&#xff1a;(1)安装 AnacondaAnaconda像一个懒人包&#xff0c;安装它等于把Python安装好连同把Python大部分的套件也下载好了&#xff0c;不只如此连通较常用的Python IDE一同帮你装到好。…

java求二维数组每行的最大值_用JAVA输入一个二维数组a[3][4]的元素值,求输出其元素最大值...

展开全部这个简单啊&#xff0c;把所有元素遍历一边62616964757a686964616fe58685e5aeb931333335343963代码&#xff1a;import java.util.Scanner;public class Help2 {public static void main(String[] args) {Scanner inputnew Scanner(System.in);System.out.print("…

java方法重载实事例_零基础java入门教程函数重载function实例化格式案例

java函数的重载&#xff0c;说白了就是函数块函数名一样&#xff0c;但函数类型和参数类型和参数列表个数不同重载之和参数列表有关系&#xff0c;与返回值无关java函数重载函数重载铺垫如下图函数重载铺垫上图功能显示&#xff0c;功能一致所以功能一致所以用的功能函数名一致…

java 类 属性数量_跟我学java编程—Java类的属性与成员变量

在定义类时&#xff0c;经常需要抽象出它的属性&#xff0c;并定义在类的主体中。下面就来介绍与属性相关的内容。常量属性在类中定义的属性有常量属性和成员属性之分。常量属性用final关键字修饰&#xff0c;常量只能赋值一次&#xff0c;在程序中不能修改它的值。一般来说&am…

java获取界面输入数字_通过JAVA设计 GUI 界面的计算器程序,用户可以通过鼠标依次输入参加计算的数值,进行加、减、乘、...

通过JAVA设计 GUI 界面的计算器程序&#xff0c;用户可以通过鼠标依次输入参加计算的数值&#xff0c;进行加、减、乘、2016-08-22 0 0 0 4.0分其他1积分下载如何获取积分&#xff1f;通过JAVA设计 GUI 界面的计算器程序&#xff0c;用户可以通过鼠标依次输入参加计算的数值&am…

mysql对称连接什么意思_对称加密与非对称加密的区别是什么

区别&#xff1a;1、对称加密中加密和解密使用的秘钥是同一个&#xff1b;非对称加密中采用两个密钥&#xff0c;一般使用公钥进行加密&#xff0c;私钥进行解密。2、对称加密解密的速度比较快&#xff0c;非对称加密和解密花费的时间长、速度相对较慢。3、对称加密的安全性相对…

php 支付签名验证失败,choosewxpay fail解决,微信支付签名验证错误解决

require_once("config.php"); //这个文件原来写过的博客有http://jipq1016.com/display.php?id9//统一下单$openid$_POST[openid];$arr[appid]$appid; //商户appid$arr[mch_id]$mch_id; //微信支付…

趣学java,编程趣学习app

编程趣学习在这里会有多种编程语言是可以去学习的Java或者是c&#xff0c;入门级的海鸥就是更加有难度的都是可以选择一个自己可以去学习的课程&#xff0c;跟着讲师一同开始及逆行语言基础知识的学习后面大家就是根据自己的的课后作业完成&#xff0c;去自己调试新的程序。编程…

aix升级新安装oracle,安装Oracle 11gR2 AIX 5.3 升级到TL11的一些小记录

Dep-app 需要locdevices.usbif.08025002.rtersct.compat.basic.sp打5300-11-00-0943时需要devices.usbif.08025002.rte 5.3.11.0 重启可以 或 删除 devices.usbif.08025002.rte 5.3.7.7打5300-11-04-1015时需要bos.sysmgt.sysbr 5.3.11.0 5.3.11.3bos.sysmgt.sysbr 需要bos…

jmeter无法释放oracle连接,jmeter 连接ORACLE数据库错误及解决方法

问题一&#xff1a;Response message: java.sql.SQLException:Cannot load JDBC driver class ‘oracle.jdbc.driver.OracleDriver‘未引入ojdbc14.jar包所致&#xff0c;2种解决方案&#xff0c;最好重启一下&#xff1a;1.在测试计划页面中&#xff0c;点击浏览&#xff0c;选…