performance - Speed up a oracle sql delete query -
this question has reply here:
delete left bring together in oracle 10g 3 answersi wondering best alternative query query. (from aspect of performance)
delete cdr anum not in (select msisdn subs) or bnum not in (select msisdn subs)
also nice if can introduce multiple queries can work in same way. please consider anum , bnum can not null.
maybe one:
delete (select cdr.* cdr left outer bring together subs on a.msisdn = cdr.anum left outer bring together subs b on b.msisdn = cdr.bnum a.msisdn null or b.msisdn null);
or
delete cdr rowid <>all (select cdr.rowid cdr bring together subs on a.msisdn = cdr.anum bring together subs b on b.msisdn = cdr.bnum)
or
delete cdr not exists (select 'x' cdr bring together subs on a.msisdn = cdr.anum bring together subs b on b.msisdn = cdr.bnum)
the problem query on not exist, it's hard utilize index.
sql performance oracle query-optimization
No comments:
Post a Comment