Heim > Datenbank > MySQL-Tutorial > mysql优化必备explain关键字_MySQL

mysql优化必备explain关键字_MySQL

WBOY
Freigeben: 2016-06-01 13:17:15
Original
1755 Leute haben es durchsucht

MySQLexplain

一.语法

EXPLAIN select sid,filename,filetype from (SELECT * from by_disk_file where uid=830814) a
Nach dem Login kopieren

结果:

/

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

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

1.SIMPLE

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

例如:

explain SELECT * from by_disk_file where uid=830814
Nach dem Login kopieren

2.PRIMARY

最外层的查询操作

例如:

explain select * from (SELECT * from by_disk_file where uid=830814 )
Nach dem Login kopieren

3.UNION

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

例如:

explain select * from by_disk_file where uid=830814 union all select * from by_disk_file
Nach dem Login kopieren

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')
Nach dem Login kopieren

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
Nach dem Login kopieren
/

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

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

6.SUBQUERY

子查询中的第一个查询

explain select * from by_disk_file where uid=(select uid from by_common_member where username='mm')
Nach dem Login kopieren
/

7.DEPENDENT SUBQUERY

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

explain select * from by_disk_file where sid in (select sid from by_disk_file where uid=830814)
Nach dem Login kopieren
/

explain select * from by_disk_file where sid =(select sid from by_disk_file where uid=830814 LIMIT 1)
Nach dem Login kopieren
/

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

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

8.DERIVED

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

explain select sid,filename,filetype from (SELECT * from by_disk_file where uid=830814) a
Nach dem Login kopieren
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage