oracle sql 语句 in 与EXIST用法比较

有两个表:订单表 现有 单据5万行,有2个唯一索引和3个一般索引 ,EXCEL导入临时表根据导入的EXCEL文件行数确定

现导入50行记录的EXCEL文件,用UPDATE进行数据更新订单表中的数据,

exist语法导入时间13分钟,IN语句 6秒。

问题关键:

exist语句会通过对订单表进行轮询,将5万条记录进行轮询完毕花费大量时间;in通过对excel文件进行轮询后进行更新效率较高

结论:并不是EXIST一定效率较高的。

引用网上的一句话:

in和exist的主要区别体现在对sql执行计划的影响上。
传统上认为,如果子查询的条件更具选择性(selective),就用in;而如果父查询(外层查询)的条件更具选择性(selective),就用exist。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值