oracle 的left join和(+)真的可以起到一样的效果吗?
发布日期:2021-06-28 19:49:13 浏览次数:2 分类:技术文章

本文共 515 字,大约阅读时间需要 1 分钟。



select * from a,b where a.id=b.id(+);    --左连接,a表为主     from tableA, tableB where a.xx=b.xx(+)

select * from a left join b on a.id=b.id;  --   tableA left join tableB on a.xxx=b.xxx

很多资料说上面两个语句的效果是一样的,实际上今天经过测试发现两者的执行计划大不相同(查询结果是一样的);

至于为什么会这样,暂时没有深究,手头的一个例子表明按照第一种写法的效率会高,

或许其他的例子结果不一样,等有时间的时候再测试一下吧.

这个比较细微,我尽量回答。

总的来说,2种写法,在oracle 里,效率和性能区别不大。
如果非要比较的话,大概有以下区别:
(+) 和 left join ,在检索显示的字段很少的时候,或者干脆就是检索count(*)的时候,

在效率和性能上,是一样,甚至cpucost都完全一样;

但是在检索显示的字段比较多得时候,执行,left join 比(+)的效率高;

当然,执行第二次之后,由于数据已经到了缓存,区别也不明显了,基本是一致的。

转载地址:https://blog.csdn.net/xxxcyzyy/article/details/47314609 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:10004--SpringMVC @PathVariable 映射 URL 绑定的占位符 /{xxx}
下一篇:10009--Java自定义注解 Annotation详解

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月02日 11时19分35秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

kotlin面试题!一口气拿了9家公司的offer,已拿offer入职 2019-04-29
retrofit优点,互联网寒冬公司倒闭后,年薪50W 2019-04-29
retrofit原理面试,Android性能优化最佳实践,面试必备 2019-04-29
【工作感悟】Android多进程从头讲到尾,offer拿到手软 2019-04-29
【微信小程序】面试一路绿灯Offer拿到手软,好文推荐 2019-04-29
Android之内存泄漏调试学习与总结,分享PDF高清版 2019-04-29
事件分发机制怎么回答,Android开发究竟该如何学习,使用指南 2019-04-29
事件分发机制流程图,带你全面理解View的绘制流程,附大厂真题面经 2019-04-29
Android最强进程保活黑科技实现原理解密及方法,含BATJM大厂 2019-04-29
Android最强进程保活黑科技实现原理解密及方法,帮你突破瓶颈 2019-04-29
Android架构师教你如何突破瓶颈,内含福利 2019-04-29
Android架构组件Room功能详解,全网独家首发! 2019-04-29
android查看网络请求和响应,我的移动开发春季历程,隔壁都馋哭了 2019-04-29
android移动开发,一线互联网大厂面试真题系统收录!大牛最佳总结 2019-04-29
Android程序员最大的悲哀是什么?Android岗 2019-04-29
Android组件化入门,重难点整理 2019-04-29
android设计模式原则,4个改变你编程技能的小技巧,手慢无 2019-04-29
Android跨进程通信导论,全网疯传 2019-04-29
想学IT的必看!我的Android美团求职之路,面试总结 2019-04-29
扫地阿姨看完都学会了!大厂offer手到擒来,经典好文 2019-04-29