RE: create a view with parallel hint

  • From: "Mark W. Farnham" <mwf@xxxxxxxx>
  • To: <niall.litchfield@xxxxxxxxx>, <tony.adolph.dba@xxxxxxxxx>
  • Date: Fri, 28 Mar 2008 12:09:42 -0400

The form

 

select

--+ full(eph) parallel(eph,8)

<column_list>

from <whatever>

 

should survive the passage and be treated as comments through all ANSI
compliant interfaces. Well - if they are in fact ANSI compliant rather than
just being called ANSI compliant. I didn't read the rest of the thread in
detail, so I'm not commenting on getting the parallel stuff to work per se.
I think Greg Rahn demonstrated that, anyway. And he or someone mentioned you
having the column list before the hint. This is more about getting it
through ODBC and other interfaces that strip block comments.

 

I'm not entirely sure why we all don't routinely write hints in this form,
other than habit and the documentation always being in the form /* ..... */.
Of course the - form is limited to a single line, but that should suffice
for hints. Mike Brown first brought this to my attention, and I'm not sure
whether someone clued him in to it or he tried it on a whim after noticing
some interfaces stripped /* ... */ before they get to the Oracle parser. I'm
not sure why ANSI compliant interfaces routinely strip block comments but
allow single line comments through, but so far it seems to work.

 

regards, mwf

 

  _____  

From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx]
On Behalf Of Niall Litchfield
Sent: Friday, March 28, 2008 2:06 AM
To: tony.adolph.dba@xxxxxxxxx
Cc: oracle-l
Subject: Re: create a view with parallel hint

 

Tony

I believe that you'll need to be using a native and not an odbc connection
to get the hints to be recognised. (Crystal used to allow for native/oledb
and odbc connections and only the native connection was any good really)
note I haven't looked at it for 2 years.

<snip>

To work around this problem I created a view that includes the hints,
and then changed the main query to use the query instead of the
original table.

Something like this....

create or replace view EVENT_T_parallel_historic as
select * /*+ full(eph) parallel(eph,8) */
from
EVENT_T partition (PARTITION_HISTORIC) eph;

then reference EVENT_T_parallel_historic in the main query.

But,... when I run the query, the hints are ignored.

<snip> 

Other related posts: