kissweety

没有见不到的,只有想不到的——数据在无时无刻的变化

  • 博客访问: 131690
  • 博文数量: 142
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-30 14:06
个人简介

崇尚IT技术,专注IT技术 EMAIL:zhu_x_lei@sina.com TEL:18811223296

文章分类

全部博文(142)

文章存档

2018年(18)

2017年(61)

2016年(44)

2015年(19)

分类: Oracle

2018-03-19 13:43:22

    环境:
    操作系统版本:linux redhat 6.6
    数据库版本:oracle 11.2.0.4
    问题描述:今天,实施同事反馈一个很奇怪的问题,就是oracle 数据库的sql merge用法问题,update语句当把分区表的分区键放在匹配关键字
On里,sql语句执行计划显示分区键能起到分区筛选作用:

    相反的,如果把update语句where条件里的分区键不放在merge匹配关键字on里,merge into update语句没能正确执行分区表分区筛选,sql语句
和执行计划如下:

总结:先说个人对本例子的理解,merge先执行on后边的条件筛选,进而进行数据匹配,匹配上则执行后续的update更新操作,所以,
将分区键放在on后边的条件匹配里,首先进行区分表分区的筛选,避免对分区表的全分区扫描,从而大大降低merge into update语句
对主机cpu资源的消耗。
阅读(837) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册