Oracle Merge语句效率问题

Oracle Merge语句效率问题
OracleSQL
大家一定都会遇到过数据库操作中的 update,
也一定会考虑过主键重复的问题,
简单的解决方法就是先 select ,
然后根据返回值判断是 insert 还是 update.
因为公司要求这个用一个语句执行,
所以调查了 oracle 自身的 merge 语句,
针对效率就调查的结果如下:
操作次数为 1 时
select 花费时间 47
Merge 花费时间 0
------------------------------
操作次数为 10 时
select 花费时间 78
Merge 花费时间 32
------------------------------
操作次数为 100 时
select 花费时间 906
Merge 花费时间 578
------------------------------
操作次数为 1000 时
select 花费时间 6328
Merge 花费时间 5235
------------------------------
操作次数为 10000 时
select 花费时间 71359
Merge 花费时间 104438
------------------------------
操作次数为 100000 时
select 花费时间 1324890
Merge 花费时间 1594922

根据PL/SQL Developer中执行来看
Merge 和 update 的效率差不多一样,
平均都是 0.015秒.
可不知道为什么 执行到后面, Merge的效率会降低.
不解.
---------
开始时怀疑是表中含有大数据量时Merge操作比较慢,
可在PL/SQL Developer中执行没有找到明显的差距.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值