1.问题:如何知道一条sql的执行效率?
- 其实JOIN 和 子查询的操作在不同的情况下应用的结果也不一样。
- 不能一概而论。其实跟索引,表结构,复杂程度,都有一些关系。
2.解决方法:
navicat就有一个现成的功能。除了可以在sql执行之后看到时间(这个指标未必准确,根据数据数量大小产生结果不好预测),如下
所以说,看执行时间并不是最好的标准,那么我们可以怎么去查看sql执行的效率的一些因素。
navicat界面给出了“解释”功能,当我们执行完sql,点击“解释”就可以看到sql执行相关的参数。
最值得注意的就是type。根据type我们可以知道查询方式:全表查询还是索引查询或者其他。
3.顺便补充
在很多场景下面LEFT JOIN会比子查询更有效率,比如下面的执行解释:
所以当你对一个sql产生疑问的时候,不妨查询一下navicat。
4.资料备忘贴
参考地址
解释参数:https://blog.csdn.net/windanchaos/article/details/78806462
navicat官网:https://www.navicat.com.cn/products#navicat-data-modeler
为防止地址丢失,将信息贴在下面:
note that:长屏截图工具:fireShot
————————————————
版权声明:本文为CSDN博主「了-凡」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34326321/article/details/102635135