merge into仅使用insert和直接执行insert哪个效率高

lyuan_918 2015-07-16 05:00:35
我使用merge into仅使用insert功能,还有直接执行inset into ...where not exists哪个效率更高啊?和表里的数据大小有关系吗?
merge into tab_a
using (select a.col1,
a.col2,
a.col3
from tab_b) v
on (tab_a.id = v.col1)
when not matched then
insert
(id,
col12,
col13)
values
(a.col1,
a.col2
a.col3);
...全文
3389 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
碧水幽幽泉 2015-07-17
  • 打赏
  • 举报
回复
你这样写性能就没有区别,关键在于 tab_a和 tab_b关联查询的快慢。 如果既有update,又有insert,那么merge into要快,尤其是在百万级以上的数据量面前,性能差异更为明显。
小灰狼W 2015-07-17
  • 打赏
  • 举报
回复
除了语法不同,没有本质区别 效率高低的关键在这个条件上tab_a.id = v.col1
不写代码的钦 2015-07-16
  • 打赏
  • 举报
回复
差不多的
卖水果的net 2015-07-16
  • 打赏
  • 举报
回复
这两个的效率不会差太多, 但是直接用insert 语法上更清晰。
dd1641321861 2015-07-16
  • 打赏
  • 举报
回复
直接insert效率高

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧