Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Is Richard Niemiec Right
Comments in-line.
-- Regards Jonathan Lewis http://www.jlcomp.demon.co.uk The educated person is not the person who can answer the questions, but the person who can question the answers -- T. Schick Jr One-day tutorials: http://www.jlcomp.demon.co.uk/tutorial.html ____Finland__September 22nd - 24th ____Norway___September 25th - 26th ____UK_______December (UKOUG conference) Three-day seminar: see http://www.jlcomp.demon.co.uk/seminar.html ____USA__October ____UK___November The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html "Noons" <wizofoz2k_at_yahoo.com.au> wrote in message news:3f6cecca$0$23150$afc38c87_at_news.optusnet.com.au...Received on Sun Sep 21 2003 - 08:13:46 CDT
> Even in the RBO-only days.
> The order of predicates in the "where" clause was not significant.
> It might have been in a point release somewhere, but that most
surely
> would not have lasted long as it would break just about any code
> written prior to it.
It is quite easy with a single table query to switch between the correct answer and a query failure (i.e. Oracle error) by switching the order of predicates - both in RBO and CBO. But it does require bad design in the first place, followed by queries that then have to use type-coercion inappropriately
>
> Now, IF you want to write your statements in a defensive fashion so
> that they will work well with ot without the CBO (in case the user
has
> CBO on but no stats), there MAY be a case for writing them using the
old
> RBO rules.
>
Not really - RBO works from bottom to top, CBO works from top to bottom as far as 'tie-breaks' on join orders go.