MYSQL的explain工具简介

来源:互联网 发布:安卓埋雷软件 编辑:程序博客网 时间:2024/05/22 12:51

MYSQL的explain工具

它是mysql自代的一个工具,用它可以分析MYSQL是怎么样执行你的SQL语句的,它是在不真正执行SQL语句的时候,就知道执行的情况。这样利于我们去分析SQL语句。

 

调用方式为:explain+SQL语句。

如在我的环境中执行:explain select * from `ykttb_users` where id=1\G;

(\G的意思为格式化输出结果)会出现以下结果

*************************** 1. row***************************

          id: 1

 select_type: SIMPLE

       table: ykttb_users

        type: const

possible_keys: PRIMARY

         key: PRIMARY

     key_len: 4

         ref: const

        rows: 1

       Extra: NULL

1 row in set (0.00 sec)

 

解释上面的结果:

id:查询的序列号

select_type:查询的类型;它有以几种方式

            PRIMARY子查询中最外层查询

            SUBQUERY:子查询内层第一个SELECT,结果不依赖于外部查询

            DEPENDENTSUBQUERY:子查询内层第一个SELECT,依赖于外部查询

            UNION:UNION语句中第二个SELECT开始后面所有SELECT.

            SIMPLE

            UNIONRESULT UNION 中合并结果。

table:查询的表名

type:扫描的方式。

            ALL为全表扫描,尽量避。

            system:表仅有一行(=系统表),这个是const联接类型的一个特例,

            const表最多有一个匹配行。

possible_keys:可能用到有的索引有哪些

key:实际用到的索引有哪些

rows:可能得到多少记录

Extra:SQL语句的额外信息,比如排序方式等

 

另外还介绍一个命令,delimiter +符号,它是将MYSQL指定MYSQL命令的结束符,在写存储过程时很有用。

如delimiter $$ ,将MYSQL命令的结束符指定为$$

0 0
原创粉丝点击