title: Refresh strategy for materialized views in a data warehouse
body: <p>I have a system that has a materialized view that contains roughly 1 billion items, on a consistent two hour basis I need to update about 200 million (20% of the records).  My question is what should the refresh strategy on my materialized view be?  As of right now it is refresh with an interval.  I am curious as to the performance impacts between refreshing on an interval vice refresh never and rename/replace the old materialized view with the new one.  The underlying issue is the indices that are used by Oracle which creates a massive amount of redo.  Any suggestions are appreciated.</p>
  
  <p><strong>UPDATE</strong><br>
  Since some people seem to think this is off topic my current view point is to do the following:  </p>
  
  <p>Create an Oracle Schedule Chain that invokes a series of PL/SQL (programming language I promise) functions to refresh materialized view in a pseudo-parallel fashion.    However, being as though I fell into the position of a DBA of sorts, I am looking to solve a data problem with an algorithm and/or some code.</p>