首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

Oracle Merge语句效率有关问题

2012-07-26 
Oracle Merge语句效率问题Oracle Merge语句效率问题 OracleSQL大家一定都会遇到过数据库操作中的 update,

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中执行没有找到明显的差距.

热点排行