<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Continued Rows</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Thu, 23 May 2013 12:47:17 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: I Wish &#171; Oracle Scratchpad</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-43231</link>
		<dc:creator><![CDATA[I Wish &#171; Oracle Scratchpad]]></dc:creator>
		<pubDate>Fri, 16 Dec 2011 18:32:45 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-43231</guid>
		<description><![CDATA[[...] difference between analyze and dbms_stats Anomalies with counting continued row activity Share this:TwitterLike this:LikeBe the first to like this post.   Leave a [...]]]></description>
		<content:encoded><![CDATA[<p>[...] difference between analyze and dbms_stats Anomalies with counting continued row activity Share this:TwitterLike this:LikeBe the first to like this post.   Leave a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-36688</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 05 Jul 2010 18:38:47 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-36688</guid>
		<description><![CDATA[Marcus,

Sorry, I missed this comment when you first posted it. 
Your idea has some merit - but may be open to error; but I think I might look at &quot;table fetch by rowid&quot; as the basis for comparison rather than &quot;session logical reads&quot;.  

The possible error, though, is implied by my comments about seeing low values for the &quot;table fetch continued row&quot; in some circumstances because Oracle is counting blocks visited for continued rows rather than the rows themselves - it&#039;s possible that your estimates would be under-estimates.  (Note that I couldn&#039;t remember where or why I had seen the phenomenon, though).

The other thought to bear in mind is that even if the system stats suggest that the &quot;table fetch continued row&quot; is a small fraction of the fetches, it&#039;s possible that a single, critical, session is the one that&#039;s suffering from the problem and still needs some correction.  (And there&#039;s always the issue that the fraction looks low because you have two simultaneous problems - a high count for continued fetches, and a very high count for session logical reads)]]></description>
		<content:encoded><![CDATA[<p>Marcus,</p>
<p>Sorry, I missed this comment when you first posted it.<br />
Your idea has some merit &#8211; but may be open to error; but I think I might look at &#8220;table fetch by rowid&#8221; as the basis for comparison rather than &#8220;session logical reads&#8221;.  </p>
<p>The possible error, though, is implied by my comments about seeing low values for the &#8220;table fetch continued row&#8221; in some circumstances because Oracle is counting blocks visited for continued rows rather than the rows themselves &#8211; it&#8217;s possible that your estimates would be under-estimates.  (Note that I couldn&#8217;t remember where or why I had seen the phenomenon, though).</p>
<p>The other thought to bear in mind is that even if the system stats suggest that the &#8220;table fetch continued row&#8221; is a small fraction of the fetches, it&#8217;s possible that a single, critical, session is the one that&#8217;s suffering from the problem and still needs some correction.  (And there&#8217;s always the issue that the fraction looks low because you have two simultaneous problems &#8211; a high count for continued fetches, and a very high count for session logical reads)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-36687</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 05 Jul 2010 18:25:36 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-36687</guid>
		<description><![CDATA[Joaquin,

Yes, it&#039;s possible. Proof is left as an exercise for the reader.

Simplest case:
update a row to make it much longer, commit, check for migration, then update the row to make it shorts, commit, check where it ends up.]]></description>
		<content:encoded><![CDATA[<p>Joaquin,</p>
<p>Yes, it&#8217;s possible. Proof is left as an exercise for the reader.</p>
<p>Simplest case:<br />
update a row to make it much longer, commit, check for migration, then update the row to make it shorts, commit, check where it ends up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joaquin Gonzalez</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-36684</link>
		<dc:creator><![CDATA[Joaquin Gonzalez]]></dc:creator>
		<pubDate>Mon, 05 Jul 2010 11:51:23 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-36684</guid>
		<description><![CDATA[Jonathan,

&quot;what happens if the row has been updated so that it has migrated back to its original position ?&quot;

Is that possible? I thought it wasn&#039;t.]]></description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>&#8220;what happens if the row has been updated so that it has migrated back to its original position ?&#8221;</p>
<p>Is that possible? I thought it wasn&#8217;t.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcus Mönnig</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-36504</link>
		<dc:creator><![CDATA[Marcus Mönnig]]></dc:creator>
		<pubDate>Thu, 17 Jun 2010 14:51:42 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-36504</guid>
		<description><![CDATA[A bit off-topic: Does it generally make sense to compare deltas for &#039;session logical reads&#039; and &#039;table fetch continued row&#039; for an interval to prove if chained rows are an instance-wide problem or not? E.g. I have a 9.2 DB that has 1.400 times more &#039;session logical reads&#039; than &#039;table fetch continued row&#039; for an high load interval of 6 hours. Can I deduct that (instance-wide) it&#039;s not worth the effort to reorganize or go through export/import to get lower the number of chained rows?]]></description>
		<content:encoded><![CDATA[<p>A bit off-topic: Does it generally make sense to compare deltas for &#8216;session logical reads&#8217; and &#8216;table fetch continued row&#8217; for an interval to prove if chained rows are an instance-wide problem or not? E.g. I have a 9.2 DB that has 1.400 times more &#8216;session logical reads&#8217; than &#8216;table fetch continued row&#8217; for an high load interval of 6 hours. Can I deduct that (instance-wide) it&#8217;s not worth the effort to reorganize or go through export/import to get lower the number of chained rows?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-36480</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sat, 12 Jun 2010 14:38:22 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-36480</guid>
		<description><![CDATA[Jason,

&lt;i&gt;(Though not curious enough to actually try it myself. ;) )&lt;/i&gt;

This is exactly why I have a large document with lots of headings like &quot;Flashback Query&quot; with questions under them like: &quot;possible side effects with migrated / chained rows ?&quot;

There are lots of vague ideas I have that might be worth checking, but aren&#039;t worth the effort until I see a client having problems with some feature and some of the questions look as if they might be relevant.]]></description>
		<content:encoded><![CDATA[<p>Jason,</p>
<p><i>(Though not curious enough to actually try it myself. ;) )</i></p>
<p>This is exactly why I have a large document with lots of headings like &#8220;Flashback Query&#8221; with questions under them like: &#8220;possible side effects with migrated / chained rows ?&#8221;</p>
<p>There are lots of vague ideas I have that might be worth checking, but aren&#8217;t worth the effort until I see a client having problems with some feature and some of the questions look as if they might be relevant.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-36479</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sat, 12 Jun 2010 14:33:12 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-36479</guid>
		<description><![CDATA[Gary,

&lt;i&gt;&quot;Doesn’t that mean that for chained, as opposed to migrated, records it would have to follow the pointer from block 1 to 10 so that it knows both the rowid and value ?&quot;&lt;/i&gt;

That&#039;s what I believe happens - which is why my earlier comment says:
&lt;blockquote&gt;
so, with suitably modified data, the count and the create index would report “table fetch continued row”
&lt;/blockquote&gt;]]></description>
		<content:encoded><![CDATA[<p>Gary,</p>
<p><i>&#8220;Doesn’t that mean that for chained, as opposed to migrated, records it would have to follow the pointer from block 1 to 10 so that it knows both the rowid and value ?&#8221;</i></p>
<p>That&#8217;s what I believe happens &#8211; which is why my earlier comment says:</p>
<blockquote><p>
so, with suitably modified data, the count and the create index would report “table fetch continued row”
</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason Bucata</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-36472</link>
		<dc:creator><![CDATA[Jason Bucata]]></dc:creator>
		<pubDate>Fri, 11 Jun 2010 03:41:23 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-36472</guid>
		<description><![CDATA[I&#039;d be curious to see what happens when doing Flashback Query.  (Though not curious enough to actually try it myself. ;) )]]></description>
		<content:encoded><![CDATA[<p>I&#8217;d be curious to see what happens when doing Flashback Query.  (Though not curious enough to actually try it myself. ;) )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gary</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-36471</link>
		<dc:creator><![CDATA[Gary]]></dc:creator>
		<pubDate>Thu, 10 Jun 2010 22:46:03 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-36471</guid>
		<description><![CDATA[&quot;A migrated row knows where it came from (the row piece carries the “head rowid”) a chained rowpiece does not&quot;
With this, say you have a record this is chained with the first part on block 1 and the second part on block 10. The column you are indexing is at the end of the record, so is on block 10. If you are full scanning to build the index then, when you pass block 1 you can&#039;t create the index entry because you don&#039;t know the column value, but when you hit block 10 you know the value but not the &quot;head rowid&quot;. Doesn&#039;t that mean that for chained, as opposed to migrated, records it would have to follow the pointer from block 1 to 10 so that it knows both the rowid and value ? Or will it store the &quot;head rowid&quot; and &quot;chain rowid&quot; from block 1 and tie that up with the index value when it reaches block 10 ?]]></description>
		<content:encoded><![CDATA[<p>&#8220;A migrated row knows where it came from (the row piece carries the “head rowid”) a chained rowpiece does not&#8221;<br />
With this, say you have a record this is chained with the first part on block 1 and the second part on block 10. The column you are indexing is at the end of the record, so is on block 10. If you are full scanning to build the index then, when you pass block 1 you can&#8217;t create the index entry because you don&#8217;t know the column value, but when you hit block 10 you know the value but not the &#8220;head rowid&#8221;. Doesn&#8217;t that mean that for chained, as opposed to migrated, records it would have to follow the pointer from block 1 to 10 so that it knows both the rowid and value ? Or will it store the &#8220;head rowid&#8221; and &#8220;chain rowid&#8221; from block 1 and tie that up with the index value when it reaches block 10 ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/08/continued-rows/#comment-36467</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 10 Jun 2010 10:51:01 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3893#comment-36467</guid>
		<description><![CDATA[Flado,

A problem with using analyze and checking the chain_cnt appears in another blog item: http://jonathanlewis.wordpress.com/2009/04/30/analyze-this

The optimizer uses the chain_cnt to cost an indexed access if it has been set - even though dbms_stats() won&#039;t set it.]]></description>
		<content:encoded><![CDATA[<p>Flado,</p>
<p>A problem with using analyze and checking the chain_cnt appears in another blog item: <a href="http://jonathanlewis.wordpress.com/2009/04/30/analyze-this" rel="nofollow">http://jonathanlewis.wordpress.com/2009/04/30/analyze-this</a></p>
<p>The optimizer uses the chain_cnt to cost an indexed access if it has been set &#8211; even though dbms_stats() won&#8217;t set it.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
