DB query performance comparison and tuning

exmaple 1: 
 

----Status date update
select jde2date(wrinsdte),jde2date(wrupmj), wruser  
from  AA.f1217
where wrnumb in 
      (
 select 
fanumb 
from  AA.f1201
where faasid in
(
'209995'
 )
 );
  
update AA.f1217
set wrinsdte = date2jde(sysdate),
    wruser = sys_context('USERENV', 'CURRENT_SCHEMA'),
    wrupmj = date2jde(sysdate)
where wrnumb in 
 (
 select 
fanumb 
from  AA.f1201
where faasid in
('209995'
 )
 );

Exmaple2: when there are thousands records to update , using join and exists 


-- ***************Pre-check(modems)******************* note down how many records to update 
 
select jde2date(wrinsdte),jde2date(wrupmj), wruser,wrnumb from AA.f1217 aa
where exists(
  select 1  from AA.f1201 bb
  where aa.wrnumb = bb.fanumb
  and bb.faasid
  in (select  MODEM_SERIALNO from modem_sim_temp
 
  )
)
 
-- ******** update the date to sysdate, make sure the number of update records is same as above , then commit in **************
update AA.f1217 aa
set wrinsdte = date2jde(sysdate),
    wruser = sys_context('USERENV', 'CURRENT_SCHEMA'),
    wrupmj = date2jde(sysdate)
where exists(
  select 1  from AA.f1201 bb
  where aa.wrnumb = bb.fanumb
  and bb.faasid 
  in (select  MODEM_SERIALNO from modem_sim_temp
  )
)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值