写点什么

SQL 的执行计划 -->explain

用户头像
卢卡多多
关注
发布于: 2 小时前
SQL的执行计划-->explain

explain(SQL 优化工具标准)

使用 EXPLAIN 关键字可以模拟优化器执行 SQL 查询语句,从而知道 MySQL 是查看 MySQL 的语句是将一个优化器--分析查询语句表


如何处理你的 SQL 语句的?分析你的查询语句或是表结构的性能瓶颈


本质上: SQL 的执行计划,就是语句 EXPLAIN


潜台词: 从而知道 MySQL 是如何处理 SQL 语句的,

2.执行 Explain 的一个模拟优化器(类似于高德地图的优化路线)

3.SQL 的证据--(执行过程)

explain  SQL 语句


select * from   tbl_dept;

explain select * from tbl_dept;
复制代码



相当于 SQL 的化验单;

4. 细节讲解:

4.1   id(为数字但是不是主键)

决定了表的读取顺序---在多表联查中会遇见;select 查询的序列号


  • ID 相同



  • ID 不相同


加载的顺序是 t3,t1,t2 来执行

  • D 相同又不同:



这里的将 ID 相同的,放为一组直接进行数据访问,,


执行的顺序是 T3,《derived》,t2

4.2  select_Type 查询类型:


简单, 主键,子查询, 伪表(临时表,虚表)






多条 sql 的 union 合并查询的结果:

4.3  Type:关键字


一般来说是:


system : 表示系统中数据只有一条;可以忽略不计

const: 表示查询一次就可以找到;--->直接可以将数据通过主键索引一次找到;



er_ref


ref"


这个是于数据有关系:



非唯一性索引扫描------>符合的所有匹配行;




Rang---》范围查询可能比较全表扫描的好;




index 表示的事我们建立的主键索引是 id


然后我们正好查询的数据是 id 这一列;


也及时说我们将数据直接变成====>  select  id from student where id


索引和查询的列是一致的;

key:


possible _key 就是表示可以--->prinary_key 表示理论使用要是使用到的===>key 是表示实际要用的是;



索引扫描



ref:关键字





发布于: 2 小时前阅读数: 2
用户头像

卢卡多多

关注

努力寻找生活答案的旅途者 2020.04.12 加入

公众号:卢卡多多,欢迎一起交流学习

评论

发布
暂无评论
SQL的执行计划-->explain