mysql explain insert_简述Mysql Explain 命令

MySQL的EXPLAIN命令用于SQL语句的查询执行计划(QEP)。这条命令的输出结果能够让我们了解MySQL 优化器是如何执行SQL语句的。这条命令并没有提供任何调整建议,但它能够提供重要的信息帮助你做出调优决策。

参考官方文档地址:

为什么用explain . 如果你的页面返回结果很慢,你就需要使用explain去分析你的sql是否需要优化了.

1/ 官方定义

The EXPLAIN statement provides information about how MySQL executes statements:

explain 语句提供 mysql 语句执行信息.

2/ 注意点

1) explain 能分析的语句包括 'SELECT, DELETE, INSERT, REPLACE, and UPDATE

2) explain 可以分析某个mysql的connection Id

3) 使用explain 查看索引的使用 和 表的连接顺序 ,以提高查询速度

4) 如果你有索引,但是没有使用上,你需要ANALYZE TABLE.

补充mysql索引失效的情况.

1 where 条件中有or

2 多列索引不是第一部分

3 like查询以%开头

4 字段类型是字符串,而where条件是数字

5 mysql自己估计全表扫描比索引快的时候(假设数据结果数量已知,可通过索引的count()获取结果集数量,因为索引是根据位置去0(1)读取,所以结果集数量为T则读取T次,全表扫描读取数据Block,假设数据量紧凑存储在N个Block上,全表扫描读取N次,一般在T>N,且达到某个比例的时候,此比例是否可设置有待研究,mysql不使用索引)

SHOW SESSION STATUS LIKE 'Handler_read%'

handler_read_key:这个值越高越好,越高表示使用索引查询到的次数

handler_read_rnd_next:这个值越高,说明查询低效

3/ 输出格式

f859b96e83f635ad01f595231a58c241.png

重点关注:

1 key 是否使用索引

2 rows 查询返回的结果集数量

3 filtered 过滤的结果.

rows * filtered 得出将要关联的数据条目数量.所以filtered 越小越好,rows 也是越小越好

***

explain connection Id 会分析链接最近一次执行的sql语句. 结果会变动,甚至如果语句不是insert ,select 等操作会报错. show warnings

以上所述是小编给大家介绍的Mysql Explain 命令,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

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

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

相关文章

mysql数据库初识实训总结_MySQL(数据库)的初识

1.什么是数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库2.什么是MySQLMySQL 是最流行的关系型数据库管理系统,在WEB应用方面 MySQL 是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。3.关系数…

jdk1.8要安装什么mysql_Window下安装JDK1.8+Tomcat9.0.27+Mysql5.7.28的教程图解

JDK1.8安装下载打开链接: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html.下拉选择不同jdk版本,图示为window系统下载提示需登录账号可查看这个帖子Oracle账号.安装双击下载的安装包,按提示走就可以安装完成之后…

php mysql bootstart_PHP MySQL 创建数据库

PHP MySQL 创建数据库数据库存有一个或多个表。你需要 CREATE 权限来创建或删除 MySQL 数据库。使用 MySQLi 和 PDO 创建 MySQL 数据库CREATE DATABASE 语句用于在 MySQL 中创建数据库。在下面的实例中,创建了一个名为 "myDB" 的数据库:实例 (…

中班机器人歌曲_机器人幼儿园大班音乐教案

机器人幼儿园大班音乐教案作为一名无私奉献的老师,有必要进行细致的教案准备工作,教案是教学活动的总的组织纲领和行动方案。那么问题来了,教案应该怎么写?以下是小编为大家收集的机器人幼儿园大班音乐教案,供大家参考…

java中0x07_JAVA里0X00的表示

相信很多针对报文进行组织与拆解,在C、C里有memset的功能很容易完成字符串里填充0x00,在java里同样很容易做到,则是用\000,八进制来表示。测试代码如下:package j8583.example;import java.util.ArrayList;import java.util.Array…

微信第三方扫描登录 java源代码_微信开放平台基于网站应用授权登录源码(java)...

1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;3. 通…

java性能优化方案_Java性能优化要点

Java性能优化要点本文介绍如何通过以下几点从Java中挤压出性能,该大部分经验来自于Netty作者。JITJava即时编译器当Java执行runtime环境时,每遇到一个新的类,JIT编译器在此时就会针对这个类别进行编译(compile)被优化成相当精简的原生型指令码…

java注解 源码_详解Java注解教程及自定义注解

详解Java注解教程及自定义注解更新时间:2016-02-26 11:47:06 作者:佚名 我要评论(0)Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容。在这个教程当中,我们将学习Java的注解,如何定制注解&…

win7卸载java_Win7彻底卸载Oracle 11g图文步骤(靠谱)

网上资料结合自己的操作整理出的一套靠谱的彻底卸载Oracle 11g的步骤!(Win7),具体内容详情如下所示:1:停掉所有Oracle相关的服务1.1打开服务方式如下:1.1.1:右击“计算机”–>管理–>服务和应用程序–…

vba与python相比2019_重大改变!Python 或将取代 VBA 成为 Excel 官方脚本语言

点击上方“CSDN”,选择“置顶公众号”关键时刻,第一时间送达!如果微软的 Excel 中支持了人生苦短的 Python,你还会喜欢那个直接且易上手的 VBA 编程吗?近日,据国外媒体 BLEEPINGCOMPUTER 报道,微…

会话标识未更新 java_Appscan漏洞之会话标识未更新

本次针对 Appscan漏洞 会话标识未更新进行总结,如下:1. 会话标识未更新1.1、攻击原理在认证用户或者以其他方式建立新用户会话时,如果不使任何现有会话标识失效,攻击者就有机会窃取已认证的会话,此漏洞可结合XSS获取用…

arcgis的python接口_arcgis-Python的ArcGIS API-Esri Screenshots

作者:Esri### 作者邮箱:pythonesri.com### 首页:https://developers.arcgis.com/python/### 文档:None### 下载链接# ArcGIS API for PythonWork with maps and geospatial data in Python using The ArcGIS API for Python.Use simple and efficient tools powered by Web GIS…

linux es连接mysql_Linux下ES,kibana,mysql,kafka,zookeeper启动关闭方式

Linux下ES,kibana,mysql,kafka,zookeeper启动关闭方式ES前台方式启动切换到ES的bin目录下,执行./elasticsearch命令关闭窗口或者ctrlc会停止运行后台方式启动同样切换到ES的bin目录下,执行 ./elasticsearch -d 命令查看实时的日志…

java.util.timertask_java.util.TimerTask翻译

java.utilClass TimerTaskjava.lang.Objectjava.util.TimerTask All Implemented Interfaces:public abstract class TimerTaskextendsObjectimplementsRunnableA task that can be scheduled for one-time or repeated execution by a Timer. 由Timer安排执行一次或重复执行的…

java还值_Java到底是引用传递还是值传递

前言前段时间在群里看到类似这样一个问题,下面的代码会输出什么呢?public void test(){String str "hello";change(str);System.out.println(str);}private void change(String str){str "world";}当时看到这题,瞬间勾…

什么是java中的面向对象编程_什么是面向对象编程

什么是面向对象编程时间:2018-01-23 来源:面向对象编程讲解一.前言其实不管是java还是.net都是属于面向对象程序设计语言,归根结底,它们都离不开面向对象,所以什么是面向对象呢,意思就是object-oriente…

java如何给顺序表赋值_JAVA模拟新增顺序表及单链表

最近在回顾大学学的数据结构,这里给大家用javwww.cppcns.coma模拟顺序表和单链表的新增1顺序表新增/*** 顺序www.cppcns.com表** author cjd**/public class ArrayList {private Object[] elementData; // 底层是一个数组,目前还没有确定长度private int…

php浏览服务器某一文件夹内容,php删除web服务器中指定目录下的指定格式的文件...

今天还在写VipSystem Pro的授权部分,用户授权后,生成匹配该用户的唯一的php文件集合(在一个目录下),然后进行zip下所并弹出下载。这个临时生成的zip文件存放在我指定的一个目录。每个用户授权不同的功能,都会产生一个唯一的zip压缩…

php escapeshellcmd,利用/绕过 PHP escapeshellarg/escapeshellcmd函数

escapeshellarg和escapeshellcmd的功能escapeshellarg1.确保用户只传递一个参数给命令2.用户不能指定更多的参数一个3.用户不能执行不同的命令escapeshellcmd1.确保用户只执行一个命令2.用户可以指定不限数量的参数3.用户不能执行不同的命令让我们用groups去打印组里每个userna…

php 绕waf,【技术分享】php webshell分析和绕过waf技巧

作者:阻圣预估稿费:400RMB(不服你也来投稿啊!)投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿前言WebShell是攻击者使用的恶意脚本,它的用途主要是在攻击后的Web应用程序上建立持久性的后门。webs…