ORACLE sql merge into update where条件位置与性能消耗

发布时间:2020-08-05 01:14:43 作者:清风艾艾
来源:ITPUB博客 阅读:485
    环境:
    操作系统版本:linux redhat 6.6
    数据库版本:oracle 11.2.0.4
    问题描述:今天,实施同事反馈一个很奇怪的问题,就是oracle 数据库的sql merge用法问题,update语句当把分区表的分区键放在匹配关键字
On里,sql语句执行计划显示分区键能起到分区筛选作用:
ORACLE sql merge into update where条件位置与性能消耗
    相反的,如果把update语句where条件里的分区键不放在merge匹配关键字on里,merge into update语句没能正确执行分区表分区筛选,sql语句
和执行计划如下:
ORACLE sql merge into update where条件位置与性能消耗
总结:先说个人对本例子的理解,merge先执行on后边的条件筛选,进而进行数据匹配,匹配上则执行后续的update更新操作,所以,
将分区键放在on后边的条件匹配里,首先进行区分表分区的筛选,避免对分区表的全分区扫描,从而大大降低merge into update语句
对主机cpu资源的消耗。
推荐阅读:
  1. Oracle常用的SQL方法总结
  2. Oracle MERGE语句

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle 位置 性能

上一篇:怎么把达梦数据库实例从Windows迁移到Linux系统

下一篇:Linux基础命令---chgrp

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》