`
重庆PHP
  • 浏览: 5603 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

MySQL查询优化之EXPLAIN关键字

 
阅读更多
转自:重庆PHP
原文地址:http://www.php-chongqing.com/index.php/article/67
不同的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 SQL语句优化explain关键字

    MySQL中的`EXPLAIN`关键字是分析SQL查询性能的关键工具,它可以帮助我们理解查询的执行计划,以便进行有效的优化。本篇文章将深入探讨`EXPLAIN`的使用方法以及如何通过索引来提升查询效率。 首先,`EXPLAIN`关键字...

    Explain关键字详解.pdf

    Explain关键字是MySQL中的一个重要工具,它能够帮助数据库管理员和开发人员深入理解SQL语句的执行计划。通过分析执行计划,我们可以优化查询语句,提高数据库性能。 首先,Explain关键字可以提供每个SELECT查询的...

    MySQL如何基于Explain关键字优化索引功能

     explain关键字的使用方法很简单,就是把它放在select查询语句的前面。  mysql查看是否使用索引,简单的看type类型就可以。如果它是all,那说明这条查询语句遍历了所有的行,并没有使用到索引。 比如:explain ...

    MySQL查询优化之explain的深入解析

    EXPLAIN关键字在MySQL中扮演着重要角色,它允许我们理解SQL查询的执行过程,识别潜在的性能瓶颈,并据此进行优化。 当我们使用EXPLAIN分析SELECT查询时,它会展示出查询计划,包括每个表的访问方式、使用的索引以及...

    mysql查询优化.

    - **分析执行计划**: 使用 EXPLAIN 关键字可以帮助开发者理解 MySQL 如何执行查询。 - **识别问题**: 通过查看 EXPLAIN 输出,可以发现查询执行过程中存在的问题,比如是否使用了索引、索引的选择性如何等。 - **...

    explain也是mysql的关键字

    在MySQL数据库管理系统中,“explain”是一个非常重要的关键字,它用于分析SQL查询的执行计划,帮助我们理解查询如何在数据库中运行,从而优化查询性能。在本文中,我们将深入探讨“explain”的使用及其对数据库性能...

    MySQL性能优化神器, Explain总结使用最详细教程

    1. 在SELECT语句前加上EXPLAIN关键字,例如:`EXPLAIN SELECT * FROM table WHERE condition;` 2. 分析查询计划,找出可能导致性能问题的部分。 3. 修改查询语句,尝试不同的索引或连接策略。 4. 再次运行EXPLAIN...

    mysql 参考手册(详解关键字的功能和涉及到的问题)

    2. **性能优化**:这可能涉及索引的使用,如B-Tree、Hash、R-Tree等,以及如何通过“EXPLAIN”命令分析查询性能。 3. **错误和异常处理**:当SQL语句出错时,如何捕获并处理异常,以及如何使用“TRY...CATCH”结构...

    mysql 中explain的详解

    EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作、以及MySQL成功返回结果集需要执行的行数。explain 可以帮助我们分析 select 语句,让我们知道查询效率低下的原因,从而改进我们查询,让...

    提升MYSQL查询效率的10个SQL语句优化技巧.doc

    使用 EXPLAIN 关键字是另一个 MySQL 优化技巧,可以让你了解 MySQL 正在进行什么样的查询操作,这可以帮助你发现瓶颈的所在,并显示出查询或表结构在哪里出了问题。EXPLAIN 查询的结果,可以告诉你那些索引正在被...

    性能调优-(2)Explain详解与索引优化最佳实践

    MySQL的EXPLAIN关键字是一个强大的工具,它可以帮助开发者分析查询性能瓶颈,进而通过索引优化等手段显著提升数据库的查询效率。无论是数据库的安装配置还是性能调优,掌握EXPLAIN的使用都是数据库管理中的关键技能...

    mysql性能优化.pptx

    - 使用`EXPLAIN`关键字可以查看SQL的执行计划,理解查询如何工作,包括哪些表被查询、连接类型、使用的索引、索引长度、行数估计等。注意`Extra`列中的`Using filesort`和`Using temporary table`,这些表明了MySQL...

    Mysql Explain

    MySQL 查询优化器的主要目标之一是尽可能利用索引,并通过最严格的索引来减少数据行的数量。这样做是为了提高查询速度,即快速找到符合条件的数据行而非排除不符合条件的数据行。优化器会尝试尽快排除那些不满足条件...

    数据库+mysql+mysql优化索引笔记+学习、数据库查询优化基本知识

    通过使用Explain关键字可以分析SQL语句的执行计划,了解索引使用情况和性能瓶颈。索引失效的常见情况包括不遵循最佳左前缀法则、不在索引列上做任何操作、有like%XXXX%使用覆盖索引等。 查询优化中有一句口诀:“小...

    MySQL性能优化的最佳20条经验

    通过在SELECT查询前使用EXPLAIN关键字,可以查看MySQL是如何处理查询语句的。这有助于发现性能瓶颈,包括哪些索引被使用以及数据是如何被搜索和排序的。通过分析EXPLAIN的结果,开发者可以对表结构或查询语句作出...

    MySQL查询优化系列讲座之查询优化器.pdf

    用户可以通过`EXPLAIN`关键字来观察优化器的决策过程,它能展示查询执行计划,包括使用的索引、联接类型、预计检查的行数等信息。 优化器的主要目标之一是尽量使用索引,并且优先选择能够排除更多行的索引。例如,...

    mysql优化(1)show命令 慢查询日志 explain profiling

    在本篇中,我们将聚焦于三个MySQL优化工具:`SHOW`命令、慢查询日志和`EXPLAIN`与`PROFILING`。 一、SHOW命令 `SHOW`命令是MySQL中的一个非常实用的工具,用于获取数据库系统的信息。它可以帮助我们查看数据库的...

    02-VIP-Explain详解与索引最佳实践.pdf

    在 select 语句之前增加 explain 关键字,Mysql 会在查询上设置一个标记,执行查询会返回执行计划的信息,而不是执行这条 SQL。 Explain 输出结果 Explain 输出结果包括多个字段,下面我们将逐一介绍: 1. id 列...

Global site tag (gtag.js) - Google Analytics