zoukankan      html  css  js  c++  java
  • 学习计划 mysql explain执行计划任务详解

    我们在之前已经找到了需要优化的SQL,但是怎么知道它的那些方面需要优化呢?

    explain就是为了这个使用的。

      explain显示了 mysql 如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。

    --

    用法:

      在你的SQL前面套上explain就好了。

    mysql> explain select * from rental;
    +----+-------------+--------+------------+------+---------------+------+---------+------+-------+----------+-------+
    | id | select_type | table  | partitions | type | possible_keys | key  | key_len | ref  | rows  | filtered | Extra |
    +----+-------------+--------+------------+------+---------------+------+---------+------+-------+----------+-------+
    |  1 | SIMPLE      | rental | NULL       | ALL  | NULL          | NULL | NULL    | NULL | 16008 |   100.00 | NULL  |
    +----+-------------+--------+------------+------+---------------+------+---------+------+-------+----------+-------+
    1 row in set, 1 warning (0.00 sec)
    

    --

      ID

      SELECT识别符。这是SELECT的查询序列号。不重要,需要注意的是,不要把id当成执行顺序,这并不准确。

    --

      SELECT_TYPE,TYPE 类型分为多种。

      SIMPLE 

        简单查询,指示非子查询和union的简单查询。

    --

       TABLE 

       也就是所查询的表名。

    --

      PARTITIONS

    --

      TYPE

      最重要的列,显示连接了哪种类型。

      从最好到最差的连接类型为:const > eq_reg > ref > range > index > ALL

    --

      POSSIBLE_KEYS

      显示可能应用在这张表上的索引,如果为空,则没有可能的索引。

    --

      KEY

      实际使用的索引,如为空,则没有使用索引。

    --

      KEY_LEN

      使用索引长度,在不损失精确性下,索引越短越好

    --

      REF

      显示索引的那一列被使用了,如果坑你,是一个常数。

    --

      ROWS

      mysql认为必须检查的,用来返回请求数据的行数。

    --

    这里只是做一个大纲,明天开始对各个细节开始做详细的学习。

  • 相关阅读:
    [Python] Calculate pi With MonteCarlo
    二次函数闭区间求最小值、、
    [2013.10.30 Luogu OJ P1509]找啊找啊找GF
    IE8下绝对居中的margin:auto兼容问题解决办法
    上传文件过长中间显示省略号
    全选
    往textarea中光标所在位置插入文本
    侧栏悬浮窗
    IE火狐兼容小知识点(即时更新)
    排序、添加、删除、上移、下移功能
  • 原文地址:https://www.cnblogs.com/25-lH/p/8626665.html
Copyright © 2011-2022 走看看