查询优化之EXPLAIN的使用分析

 更新时间:2013年06月06日 09:30:21   作者:  
本篇文章是对EXPLAIN的使用进行了详细的分析介绍,需要的朋友参考下

不同的SQL语句写法,往往会带来很大的性能差异,我们怎么才能知道执行SQL查询开销呢?MySQL为我们提供了EXPLAIN关键词,在你的select语句前加上EXPLAIN关键词,MySQL将解释它是如何处理的SELECT查询,提供有关表如何联接和联接的次序,所扫描的记录数等相关信息,你可以凭借这些信息,来优化你的SQL查询。
EXPLAIN select id, username from userinfo where username like '%peng%';
我们在查询语句前加上了EXPLAIN关键词,那么我们可以得到如下的报告。

复制代码 代码如下:

id: 1
select_type: SIMPLE
table: userinfo
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
rel: NULL
rows: 6
Extra: Using where

大概解释下每一个数据项的含义:
id:
SELECT识别符,SELECT的查询序列号;
select_type: SELECT类型,可以是SIMPLE(简单查询)、PRIMARY(最外面的select)等;
table:用到的表
type: 联接类型
possible_keys: 可用索引列
key: 实际用到的索引列
key_len: 键长度
rel: 使用哪个列或常数与key一起从表中选择行
rows: 检查的行数
Extra: 该列包含MySQL解决查询的详细信息

更具体的解释请查阅MySQL手册,在这里,把手册的内容再抄一遍并没有什么意义,当你有了这些参考数据后,就能更准确的完成MySQL查询优化了。

相关文章

  • MySQL中LAST_INSERT_ID()函数的实现

    MySQL中LAST_INSERT_ID()函数的实现

    本文主要介绍了MySQL中LAST_INSERT_ID()函数的作用和使用方法,LAST_INSERT_ID()函数用于返回上一次INSERT操作生成的自增ID,对于需要获取新插入记录的主键的场景非常重要,感兴趣的可以了解一下
    2024-10-10
  • mysql 5.7 数据库安装步骤个人总结

    mysql 5.7 数据库安装步骤个人总结

    这篇文章主要介绍了mysql 数据库安装步骤个人总结,需要的朋友可以参考下
    2017-09-09
  • mysql8关闭binlog并清空Binlog的方法

    mysql8关闭binlog并清空Binlog的方法

    这篇文章主要介绍了mysql8关闭binlog并清空Binlog,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • MySql删除表中一行的实操方法

    MySql删除表中一行的实操方法

    在本篇文章中小编给大家整理了关于MySql删除表中一行的实操方法以及实例分析,需要的朋友们参考下。
    2019-05-05
  • MySql闪退和服务无法启动的解决方法

    MySql闪退和服务无法启动的解决方法

    今天小编就为大家分享一篇关于MySql闪退和服务无法启动的解决方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • MySQL之使用UNION和UNION ALL合并两个或多个SELECT语句的结果集

    MySQL之使用UNION和UNION ALL合并两个或多个SELECT语句的结果集

    这篇文章主要介绍了MySQL之使用UNION和UNION ALL合并两个或多个SELECT语句的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • MySQL的prepare使用及遇到bug解析过程

    MySQL的prepare使用及遇到bug解析过程

    在一次开发中使用 MySQL PREPARE 以后,从 prepare 直接取 name 赋值给 lex->prepared_stmt_name 然后给 EXECUTE 用,发现有一定概率找不到 prepare stmt 的 name,于是开始动手调查问题发生的原因,本文给大家分享mysql prepare使用及问题解决,感兴趣的朋友一起看看吧
    2022-05-05
  • mysql安装配置详解教程(一)

    mysql安装配置详解教程(一)

    这篇文章主要为大家详细介绍了mysql安装配置教程,以图文结合的方式为大家分享了mysql安装步骤,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Access数据库的存储上限

    Access数据库的存储上限

    Access数据库的存储上限...
    2006-09-09
  • centos7.2下安装mysql5.7数据库的命令详解

    centos7.2下安装mysql5.7数据库的命令详解

    这篇文章主要介绍了centos7.2下安装mysql5.7数据库,文中给出了所有的命令,按照命令执行就会安装上 ,需要的朋友可以参考下
    2019-07-07

最新评论