Home > Database > Mysql Tutorial > mysql优化必备explain关键字_MySQL

mysql优化必备explain关键字_MySQL

WBOY
Release: 2016-06-01 13:17:15
Original
1750 people have browsed it

MySQLexplain

一.语法

EXPLAIN select sid,filename,filetype from (SELECT * from by_disk_file where uid=830814) a
Copy after login

结果:

/

id:SQL执行顺序标示,SQL是从大到小执行的

select_type:为查询类型,有以下几种:

1.SIMPLE

简单SELECT(不使用UNION或子查询等)

例如:

explain SELECT * from by_disk_file where uid=830814
Copy after login

2.PRIMARY

最外层的查询操作

例如:

explain select * from (SELECT * from by_disk_file where uid=830814 )
Copy after login

3.UNION

UNION中的第二个或后面的SELECT语句

例如:

explain select * from by_disk_file where uid=830814 union all select * from by_disk_file
Copy after login

4.DEPENDENT UNION

UNION中的第二个或后面的SELECT语句,取决于外面的查询

例如:

explain select * from by_disk_file where uid in(select id from by_common_member where username='mm' union all select id from by_common_member where username='gg')
Copy after login

5.UNION RESULT

UNION的结果

例如:

explain select * from by_disk_file where uid=830814 union all select * from by_disk_file UNION ALL select * from by_disk_file where uid=830814
Copy after login
/

UNION查询的步骤(根据以上内容):

定义一个UNION结果集->UNION获得语句(从右到左)->第一条语句->结果全获取返回

6.SUBQUERY

子查询中的第一个查询

explain select * from by_disk_file where uid=(select uid from by_common_member where username='mm')
Copy after login
/

7.DEPENDENT SUBQUERY

子查询中的一个查询,取决于外面的查询

explain select * from by_disk_file where sid in (select sid from by_disk_file where uid=830814)
Copy after login
/

explain select * from by_disk_file where sid =(select sid from by_disk_file where uid=830814 LIMIT 1)
Copy after login
/

备注:如果外面的查询不是范围查询只会被查到一次,则为SUBQUERY

如果是使用in类似的范围查询,则为DEPENDENT SUBQUERY

8.DERIVED

派生表的查询(FROM子句的子查询)

explain select sid,filename,filetype from (SELECT * from by_disk_file where uid=830814) a
Copy after login
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template