mysql Explain 性能分析关键字
EXPLAIN 输出格式
select_type
table
type
possible_keys
key
key_len
rows
Extra
MySQL 提供了一个 EXPLAIN 命令, 它可以对 SELECT 语句进行分析, 并输出 SELECT 执行的详细信息, 以供开发人员针对性优化.
EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:
EXPLAIN SELECT * from user_info WHERE id < 300;
各列的含义如下:
- id: SELECT 查询的标识符. 每个 SELECT 都会自动分配一个唯一的标识符.
- select_type: SELECT 查询的类型.
- table: 查询的是哪个表
- partitions: 匹配的分区
- type: join 类型
- possible_keys: 此次查询中可能选用的索引
- key: 此次查询中确切使用到的索引.
- ref: 哪个字段或常数与 key 一起被使用
- rows: 显示此查询一共扫描了多少行. 这个是一个估计值.
- filtered: 表示此查询条件所过滤的数据的百分比
- extra: 额外的信息
explain 可以查看执行计划是否符合预期,如果有出现rows较大的情况,则说明出现了全表扫描,将来会是性能瓶颈
show warning的结果,则能看到优化器处理后的语句。如果与原始语句有出入,仔细对比研究能够发现实际问题。
在MySQL中使用SHOW STATUS语句查询一些MySQL数据库的性能,其语法为:SHOW STATUS LIKE 'value';
其中value是要查询的参数值,一些常用的性能参数如下:
- Connections:连接MySQL服务器的次数;
- Uptime:MySQL服务器的上线时间;
- Slow_queries:慢查询次数;
- Com_select:查询操作的次数;
- Com_insert:插入操作的次数;
- Com_update:更新操作的次数;
- Com_delete:删除操作的次数。
mysql Explain 性能分析关键字的更多相关文章
- MySQL——explain性能分析的使用
用法:explain sql语句: id:查询的序号. ref:进行连接查询时,表得连接关系.可以通过上图看出. select_type:select查询的类型,主要是区别普通查询和联合查询.子查询之 ...
- MySQL 索引性能分析概要
上一篇文章 MySQL 索引设计概要 介绍了影响索引设计的几大因素,包括过滤因子.索引片的宽窄与大小以及匹配列和过滤列.在文章的后半部分介绍了 数据库索引设计与优化 一书中,理想的三星索引的设计流程和 ...
- MySQL优化 - 性能分析与查询优化(转)
出处: MySQL优化 - 性能分析与查询优化 优化应贯穿整个产品开发周期中,比如编写复杂SQL时查看执行计划,安装MySQL服务器时尽量合理配置(见过太多完全使用默认配置安装的情况),根据应用负载 ...
- MySQL索引性能分析
为什么要做性能分析 你有没有这样的情况. 面对一个你没怎么写过的.复杂的业务,你构思了很久,终于开始敲下了第一段代码. 写的过程迷迷糊糊,有的时候还能把自己搞晕了. 但你还是终于把它写完了. 但是点击 ...
- MySQL优化 - 性能分析与查询优化
优化应贯穿整个产品开发周期中,比如编写复杂SQL时查看执行计划,安装MySQL服务器时尽量合理配置(见过太多完全使用默认配置安装的情况),根据应用负载选择合理的硬件配置等. 1.性能分析 性能分析包含 ...
- [MySQL]--查询性能分析工具-explain关键字
explain显示了MySQL如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. explain的使用方法很简单,只需要在select查询语句前面加上expl ...
- MySQL高级-性能分析Explain
1.使用Explain关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的.分析你的查询语句或是表结构的性能瓶颈 . 2.执行方法:Explain + SQL语句 解释 ...
- 【mysql】explain性能分析
1. explain的概念 使用EXPLAIN 关键字可以模拟优化器执行SQL 查询语句,从而知道MySQL 是如何处理你的SQL 语句的.分析你的查询语句或是表结构的性能瓶颈. 用法: Explai ...
- mysql语句性能分析案例
写法不一样而功能完全相同的两条 SQL 的在性能方面的差异.示例一需求:取出某个 group(假设 id 为 100)下的用户编号(id),用户昵称(nick_name).用户性别( sexualit ...
随机推荐
- mb_detect_encoding() 运行sitemap.php 字符编码不能转换修改php.ini
1.phpinfo() 找php.ini位置 2.备份然后 php.ini文件中顶部添加extension=php_mbstring.dll Call to undefined function mb ...
- openwrt 中make的使用
make 命令简单说明 make V=99 V=99表示输出详细的debug信息 make world 表示编译所有 make j=2 V=99 如是多核CPU,加j=2 选项理论上能加快编译速度 m ...
- Java-if 嵌套结构
import java.util.Scanner; public class ifs{ public static void main(String args[]){ Scanner in=new S ...
- ubuntu 连接VPN 命令
1 注册MXVPN 2 启动VPN pptpsetup --create mxvpn1 --server xx.xx.xx.xx --username *** --password *** --e ...
- [Java]知乎下巴第0集:让我们一起来做一个知乎爬虫吧哦耶【转】
文章来源:http://jp.51studyit.com/article/details/16203.htm 作者: 汪海洋 身边的小伙伴们很多都喜欢刷知乎,当然我也不例外, 但是手机刷太消耗流量, ...
- css:cdata
javascript <![CDATA[的web标准使用方法 根据W3C XHTML 1.0的规定:在XHTML中,因为<和&这两个符号有特殊意义(小于号用于标签的开始标记), ...
- wl18xx wifi编译出现没有编译wlcore_sdio的情况
打开config.mk ........................................................................................ ...
- jmx additional port
http://stackoverflow.com/questions/20884353/why-java-opens-3-ports-when-jmx-is-configured http://blo ...
- Spring Boot 系列教程13-注解定时任务
注解 @Scheduled(cron = "0/5 * * * * ?") 相当于原来的xml版本的如下配置 <task:scheduled ref="schedu ...
- ajax2016/4/15 post与get
post方式,数据放在send()里面作为参数传递 xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded'); ...