内容简介:版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。 https://blog.csdn.net/robinson_0612/article/details/84569447
版权声明:本文为博主原创文章,欢迎扩散,扩散请务必注明出处。 https://blog.csdn.net/robinson_0612/article/details/84569447
一、执行计划一些参考链接
二、获取 SQL 执行计划
方法1(命令行):EXPLAIN sql_statement
方法2(Toad):Toad里边在SQL编辑器里边点击explain plan
方法3(Navicate)Navicate里边点击解释
三、案例
1、原始SQL及完整执行计划
原始SQL语句: SELECT c.customerNumber, c.customerName, e.lastname FROM customers c INNER JOIN employees e ON c.salesRepEmployeeNumber = e.employeeNumber WHERE e.lastname LIKE 'T%' AND EXISTS (SELECT orderNumber, SUM(priceEach * quantityOrdered) FROM orderdetails INNER JOIN orders USING (orderNumber) WHERE customerNumber = c.customerNumber GROUP BY orderNumber HAVING SUM(priceEach * quantityOrdered) > 50000) UNION SELECT customerNumber, customerName, 'NULL' FROM customers WHERE customerName LIKE 'T%'
执行计划截图
2、执行计划包含的信息 – id列
3、执行计划包含的信息 – select_type列
4、执行计划包含的信息 – table列
5、执行计划包含的信息 – type列cost对比
type列示例
6、执行计划包含的信息 – key列
7、执行计划包含的信息 – ref与rows
8、执行计划包含的信息 – filtered列
9、执行计划包含的信息 – extra列
以上所述就是小编给大家介绍的《基于案例理解MySQL执行计划》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- [译] 理解 JavaScript 中的执行上下文和执行栈
- 简单理解符号执行技术
- 面试:谈谈你对 MyBatis 执行过程之 SQL 执行过程理解
- 深入理解js的执行机制
- 【进阶1-1期】理解JavaScript 中的执行上下文和执行栈
- [译] 理解 JavaScript 中的执行上下文
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Rails 5敏捷开发
[美] Sam Ruby、[美] Dave Thomas、[美] David Heinemeier Hansson / 安道、叶炜、大疆Ruby技术团队 / 华中科技大学出版社 / 2017-12-30 / 115.00
本书以讲解“购书网站”案例为主线,逐步介绍Rails的内置功能。全书分为3部分,第一部分介绍Rails的安装、应用程序验证、Rails框架的体系结构,以及Ruby语言知识;第二部分用迭代方式构建应用程序,然后依据敏捷开发模式开展测试,最后用Capistrano完成部署;第三部分补充日常实用的开发知识。本书既有直观的示例,又有深入的分析,同时涵盖了Web开发各方面的知识,堪称一部内容全面而又深入浅出......一起来看看 《Rails 5敏捷开发》 这本书的介绍吧!