SQL 执行计划
Posted uzai
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL 执行计划相关的知识,希望对你有一定的参考价值。
定义:
使用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 执行计划的主要内容,如果未能解决你的问题,请参考以下文章