mysql的内连接与外连接效率(验证)

我产生这个问题的原因:
公司使用的是内连接(交叉连接),我习惯使用左连接,这样问题产生了,我要看看他们的效率到底怎么样?
我介绍一下Explain字段详解(重点关注加粗项):
mysql的内连接与外连接效率(验证)_第1张图片

下面是我的案例:外连接(左连接)
mysql的内连接与外连接效率(验证)_第2张图片
内连接
mysql的内连接与外连接效率(验证)_第3张图片
内连接(交叉连接)
mysql的内连接与外连接效率(验证)_第4张图片
查询出效率都是相同的,后面查询资料。
1.外连接在步骤上是比内连接多出一步的
从下图的解析上可以看出这个是mysql执行的时候执行顺序可以看出外连接是比内连接多出了一步操作。
但是具体效率并没有多少区分还是由语句决定大部分的执行效率。
而且左连接语句有时候会被数据库优化器自动转化为内连接,所以该语句优化器判断为合适执行内连接并且效率高。
mysql的内连接与外连接效率(验证)_第5张图片
2.左连接的时候以左表为原则,根据左表查询, 并且会进行回表操作,当左表数据量比较大,就需要更多的时间,展示左表中的元素,其他的表字段为空一样展示。
3.内连接,查询出交集,展示他们相同的元素。
总结:
1.先看公司的需求,再进行选择左连接还是内连接
2.在选择左连接还是内连接都没有问题的情况下,就选择内连接

最后小伙伴们可以将处理问题时的心得体会进行总结,也欢迎给我留言分享,我们一起来交流、学习、进步。

你可能感兴趣的:(工作经验)