RE: Need another pair(s) of eyes

So, which one performs better? 

-----Original Message-----
From: oracle-l-bounce@xxxxxxxxxxxxx
[mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Wolfgang Breitling
Sent: Thursday, July 26, 2007 6:22 AM
To: oracle-l
Subject: Need another pair(s) of eyes

Hi,

or probably more accurately a few more brains.

I think the following are equivalent:

do something (select, update, delete)
where < some predicates>
and exists ( select 'x' from tableA, tableB
   where < some regular predicates > and < some correlated predicates >
   UNION ALL
   select 'x' from tableC, tableD (could be same as A and/or B)
   where < some regular predicates > and < some correlated predicates >
   )

and

do something (select, update, delete)
where < some predicates>
and ( exists ( select 'x' from tableA, tableB
   where < some regular predicates > and < some correlated predicates >
)
   OR exists (
   select 'x' from tableC, tableD (could be same as A and/or B)
   where < some regular predicates > and < some correlated predicates >
)
   )

Likewise for not exists:

do something (select, update, delete)
where < some predicates>
and not exists ( select 'x' from tableA, tableB
   where < some regular predicates > and < some correlated predicates >
   UNION ALL
   select 'x' from tableC, tableD (could be same as A and/or B)
   where < some regular predicates > and < some correlated predicates >
   )

vs.

do something (select, update, delete)
where < some predicates>
and not exists ( select 'x' from tableA, tableB
   where < some regular predicates > and < some correlated predicates >
)
   AND not exists (
   select 'x' from tableC, tableD (could be same as A and/or B)
   where < some regular predicates > and < some correlated predicates >
)

Can someone think of some condition(s), examples where they would not be
equivalent?



Regards

Wolfgang Breitling
Centrex Consulting Corporation
www.centrexcc.com
AIM: WBreitling 



--
http://www.freelists.org/webpage/oracle-l



--
http://www.freelists.org/webpage/oracle-l


Other related posts: