Big Complex MV creation and Refresh

  • From: "Sanjay Mishra" <dmarc-noreply@xxxxxxxxxxxxx> (Redacted sender "smishra_97" for DMARC)
  • To: Oracle-L Freelists <oracle-l@xxxxxxxxxxxxx>
  • Date: Fri, 13 Apr 2018 22:00:36 +0000 (UTC)

Hi
I had a View which is Select from multiple Tables and joins. Selecting data 
from it take lots of time and been used extensively. I am planning to create MV 
on it as Data from View is only changed once a week. There are time when this 
view is not accessed and so can use the timeframe.
Question is 1. If I use create MV with parallel  and select * from View; will 
be paralleling. I  used this method and it took 16hr to refresh. Not sure how I 
can more advantage with Parallel Query to speed up the creation and there after 
Refresh. Is following will help where View is based on multiple tables and not 
sure Paralle Select from view can help  Original Def    create Materialized 
view test parallel 20 refresh with rowid as select * from test_view;  Or this 
will be better    create Materialized view test parallel 20 refresh with rowid 
as select /*+parallel(10) */* from test_view;  Or I had to change the view 
defintion to also include Parallel in all Select in it to
Trying to understand as how Parallel Query can help. None of the table involved 
in the view are partitioned. 
2. Checking few sites and came to know Refresh will not be Parallel unless all 
select has parallel in it. As otherwise refresh will be serial.

thanks for suggestion and any reference 
Sanjay

Other related posts: