码迷,mamicode.com
首页 > 数据库 > 详细

SQL 执行计划

时间:2019-07-28 20:09:27      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:使用   and   sel   img   顺序   分析   inf   不同的   计划   

定义:

使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈

执行计划的作用:

l 表的读取顺序

l 数据读取操作的操作类型

l 哪些索引可以使用

l 哪些索引被实际使用

l 表之间的引用

l 每张表有多少行被优化器查询

语法:

explian + sql 语句

explain 
select * from student;

技术图片

列的意义:
1) id 列:描述select查询的序列号,包含一组数字,表示查询中执行select子句或操作表的顺序

 

id相同:执行顺序由上至下
id不同:如果是子查询,id的序号会递增,id值越大优先级越高,越先被执行
id相同不同:同时存在

 

举例:

-- id 相同的 从上至下 依次进行
EXPLAIN
select * from sc , student, course where sc.s_id = student.sid and course.cid = sc.c_id

技术图片

-- id 完全不同的 id越大越先被执行
EXPLAIN 
SELECT
	* 
FROM
	student 
WHERE
	sid = ( SELECT s_id FROM sc WHERE score > 60 AND c_id = ( SELECT cid FROM course WHERE cid > 2 ) )

技术图片

-- id 有相同也有不相同的 
-- id 相同的为一组 , 从上往下执行
-- id 不同的为一组,在所有组中, id 值越大的越优先执行
explain
select * from student where sid in (select s_id from sc where score > 60)

技术图片

 

 

 

 

 

 

SQL 执行计划

标签:使用   and   sel   img   顺序   分析   inf   不同的   计划   

原文地址:https://www.cnblogs.com/Uzai/p/11260463.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!