<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: fast refresh of join-only materialized views &#8211; algorithm summary</title>
	<atom:link href="http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/</link>
	<description>A blog about Oracle - Un blog riguardo Oracle</description>
	<lastBuildDate>Wed, 11 Aug 2010 14:30:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Alberto Dell&#8217;Era&#8217;s Oracle blog &#187; fast refresh of join-only MVs: _mv_refresh_use_stats and locking log stats</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-337</link>
		<dc:creator>Alberto Dell&#8217;Era&#8217;s Oracle blog &#187; fast refresh of join-only MVs: _mv_refresh_use_stats and locking log stats</dc:creator>
		<pubDate>Thu, 11 Mar 2010 20:46:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-337</guid>
		<description>[...] understand the importance of points 5 and 6, please check this post of mine; note how those indexes are a necessary prerequisite for the sanity of the DEL and INS steps of the [...]</description>
		<content:encoded><![CDATA[<p>[...] understand the importance of points 5 and 6, please check this post of mine; note how those indexes are a necessary prerequisite for the sanity of the DEL and INS steps of the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alberto Dell&#8217;Era&#8217;s Oracle blog &#187; 11gR2: materialized view logs changes</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-228</link>
		<dc:creator>Alberto Dell&#8217;Era&#8217;s Oracle blog &#187; 11gR2: materialized view logs changes</dc:creator>
		<pubDate>Tue, 03 Nov 2009 17:20:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-228</guid>
		<description>[...] the refresh is performed by using a &quot;mark-and-propagate&quot; algorithm, which is essentially (check this post for some additional details): 1) new log rows are inserted with snaptime$$=4000 A.D; 2) at refresh [...]</description>
		<content:encoded><![CDATA[<p>[...] the refresh is performed by using a &#8220;mark-and-propagate&#8221; algorithm, which is essentially (check this post for some additional details): 1) new log rows are inserted with snaptime$$=4000 A.D; 2) at refresh [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Blogroll Report 31/07/2009 – 07/08/2009 &#171; Coskan&#8217;s Approach to Oracle</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-116</link>
		<dc:creator>Blogroll Report 31/07/2009 – 07/08/2009 &#171; Coskan&#8217;s Approach to Oracle</dc:creator>
		<pubDate>Wed, 12 Aug 2009 14:32:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-116</guid>
		<description>[...] Alberto Dell’Era- fast refresh of join-only materialized views -algorithm summary [...]</description>
		<content:encoded><![CDATA[<p>[...] Alberto Dell’Era- fast refresh of join-only materialized views -algorithm summary [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alberto Dell'Era</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-115</link>
		<dc:creator>Alberto Dell'Era</dc:creator>
		<pubDate>Tue, 11 Aug 2009 15:58:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-115</guid>
		<description>@Cristian

I have posted an &lt;a href=&quot;http://www.adellera.it/blog/2009/08/11/fast-refresh-of-single-table-materialized-views-algorithm-summary/&quot; rel=&quot;nofollow&quot;&gt;investigation&lt;/a&gt; about your scenario.</description>
		<content:encoded><![CDATA[<p>@Cristian</p>
<p>I have posted an <a href="http://www.adellera.it/blog/2009/08/11/fast-refresh-of-single-table-materialized-views-algorithm-summary/" rel="nofollow">investigation</a> about your scenario.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alberto Dell&#8217;Era&#8217;s Oracle blog &#187; fast refresh of single-table materialized views - algorithm summary</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-114</link>
		<dc:creator>Alberto Dell&#8217;Era&#8217;s Oracle blog &#187; fast refresh of single-table materialized views - algorithm summary</dc:creator>
		<pubDate>Tue, 11 Aug 2009 15:57:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-114</guid>
		<description>[...] might be considered a degenerate case of a join-only MV, a topic that we investigated in an earlier post, and one could expect the same algorithm. But that is not the case: the test case shows that the [...]</description>
		<content:encoded><![CDATA[<p>[...] might be considered a degenerate case of a join-only MV, a topic that we investigated in an earlier post, and one could expect the same algorithm. But that is not the case: the test case shows that the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alberto Dell'Era</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-101</link>
		<dc:creator>Alberto Dell'Era</dc:creator>
		<pubDate>Fri, 07 Aug 2009 17:07:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-101</guid>
		<description>I know a &quot;rowid MV&quot;, as your one is, cannot contain neither joins neither aggregates and must be based on a single table, so they probably use a different algorithm than the one examined in this post (which is for join-only MVs). They are in fact MVs used for replication almost exclusively, usually from a remote database to a local one through a dblink - the old name was &quot;snapshots&quot;, a technology &quot;now merged&quot; with the &quot;materialized view&quot; one. So it is outside the scope of this post, albeit I&#039;ve added an investigation about this on my to-do list. It makes sense, anyway, that on a scenario as simple as this one, they have tried to optimize the propagation (hence using UPDATEs) as much as possible (especially to minimize the traffic over the dblink).</description>
		<content:encoded><![CDATA[<p>I know a &#8220;rowid MV&#8221;, as your one is, cannot contain neither joins neither aggregates and must be based on a single table, so they probably use a different algorithm than the one examined in this post (which is for join-only MVs). They are in fact MVs used for replication almost exclusively, usually from a remote database to a local one through a dblink &#8211; the old name was &#8220;snapshots&#8221;, a technology &#8220;now merged&#8221; with the &#8220;materialized view&#8221; one. So it is outside the scope of this post, albeit I&#8217;ve added an investigation about this on my to-do list. It makes sense, anyway, that on a scenario as simple as this one, they have tried to optimize the propagation (hence using UPDATEs) as much as possible (especially to minimize the traffic over the dblink).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cristian</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-100</link>
		<dc:creator>Cristian</dc:creator>
		<pubDate>Fri, 07 Aug 2009 14:30:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-100</guid>
		<description>Sorry, the sun on my head :)
[sql]
create table testmv1 (pk1 number,fld1 varchar2(10));
create materialized view log on testmv1 with rowid;

create materialized view test_mv1 
build immediate 
refresh fast with rowid
on demand
as
 select 
  testmv1.*
 from testmv1;
[/sql]

I&#039;ve not tried with primary key based refresh.</description>
		<content:encoded><![CDATA[<p>Sorry, the sun on my head :)</p>
<pre class="brush: sql;">
create table testmv1 (pk1 number,fld1 varchar2(10));
create materialized view log on testmv1 with rowid;

create materialized view test_mv1
build immediate
refresh fast with rowid
on demand
as
 select
  testmv1.*
 from testmv1;
</pre>
<p>I&#8217;ve not tried with primary key based refresh.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alberto Dell'Era</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-99</link>
		<dc:creator>Alberto Dell'Era</dc:creator>
		<pubDate>Fri, 07 Aug 2009 14:16:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-99</guid>
		<description>Ok, but what is the defining SQL statement of the MV TEST_MV1 ?</description>
		<content:encoded><![CDATA[<p>Ok, but what is the defining SQL statement of the MV TEST_MV1 ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cristian</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-98</link>
		<dc:creator>Cristian</dc:creator>
		<pubDate>Fri, 07 Aug 2009 14:12:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-98</guid>
		<description>I meant without aggregates:
[sql]
update testmv1 set fld1=&#039;a2&#039; where pk1=1;
commit;
EXEC DBMS_MVIEW.REFRESH(&#039;TEST_MV1&#039;);
SELECT * FROM TESTMV1_LOG;
[/sql]
This because we sometimes use MV&#039;s as data replication tool.</description>
		<content:encoded><![CDATA[<p>I meant without aggregates:</p>
<pre class="brush: sql;">
update testmv1 set fld1='a2' where pk1=1;
commit;
EXEC DBMS_MVIEW.REFRESH('TEST_MV1');
SELECT * FROM TESTMV1_LOG;
</pre>
<p>This because we sometimes use MV&#8217;s as data replication tool.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alberto Dell'Era</title>
		<link>http://www.adellera.it/blog/2009/08/04/fast-refresh-of-join-only-materialized-views-algorithm-summary/comment-page-1/#comment-97</link>
		<dc:creator>Alberto Dell'Era</dc:creator>
		<pubDate>Fri, 07 Aug 2009 13:24:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.adellera.it/blog/?p=275#comment-97</guid>
		<description>@Cristian

what do you mean by &quot;simple MV&quot;, with or without aggregates ?

You might want to post the defining SQL statement of the MV ...</description>
		<content:encoded><![CDATA[<p>@Cristian</p>
<p>what do you mean by &#8220;simple MV&#8221;, with or without aggregates ?</p>
<p>You might want to post the defining SQL statement of the MV &#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
