<?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: Predicate (again)</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Tue, 18 Jun 2013 04:32:58 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Interpreting Execution Plan &#124; Mohamed Houri’s Oracle Notes</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/#comment-55737</link>
		<dc:creator><![CDATA[Interpreting Execution Plan &#124; Mohamed Houri’s Oracle Notes]]></dc:creator>
		<pubDate>Sat, 18 May 2013 11:04:10 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3458#comment-55737</guid>
		<description><![CDATA[[&#8230;] looking carefully to that execution plan and to its predicate part (always consider the predicate part) I ended up asking myself the following [&#8230;]]]></description>
		<content:encoded><![CDATA[<p>[&#8230;] looking carefully to that execution plan and to its predicate part (always consider the predicate part) I ended up asking myself the following [&#8230;]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tuning a SQL query using TKPROF &#171;</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/#comment-46970</link>
		<dc:creator><![CDATA[Tuning a SQL query using TKPROF &#171;]]></dc:creator>
		<pubDate>Thu, 07 Jun 2012 08:34:40 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3458#comment-46970</guid>
		<description><![CDATA[[...] deliberately omitted to show the predicate part of this explain plan because my first reaction to this e-mail was to ask for  the real [...]]]></description>
		<content:encoded><![CDATA[<p>[...] deliberately omitted to show the predicate part of this explain plan because my first reaction to this e-mail was to ask for  the real [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Explain Plan Shows a Cartesian Merge Join, How Would You Help? &#171; Charles Hooper&#39;s Oracle Notes</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/#comment-38862</link>
		<dc:creator><![CDATA[Explain Plan Shows a Cartesian Merge Join, How Would You Help? &#171; Charles Hooper&#39;s Oracle Notes]]></dc:creator>
		<pubDate>Fri, 24 Dec 2010 12:28:52 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3458#comment-38862</guid>
		<description><![CDATA[[...] Cartesian joins are not automatically a sign of problems.  Previous blog articles have demonstrated that a Cartesian join may be more efficient than other methods for certain situations (see Improving Performance by Using a Cartesian Join and Improving Performance by Using a Cartesian Join 2), the execution plan may simply display a Cartesian join rather than a nested loops join when one of the row sources is expected to return a single row, or the optimizer may introduce a Cartesian join as a transformation due of transitive closure (see this article). [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Cartesian joins are not automatically a sign of problems.  Previous blog articles have demonstrated that a Cartesian join may be more efficient than other methods for certain situations (see Improving Performance by Using a Cartesian Join and Improving Performance by Using a Cartesian Join 2), the execution plan may simply display a Cartesian join rather than a nested loops join when one of the row sources is expected to return a single row, or the optimizer may introduce a Cartesian join as a transformation due of transitive closure (see this article). [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/#comment-36061</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sat, 17 Apr 2010 11:01:05 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3458#comment-36061</guid>
		<description><![CDATA[Randolf,

Thanks for addressing Henish&#039;s question, and for the comment on adaptive cursor sharing.]]></description>
		<content:encoded><![CDATA[<p>Randolf,</p>
<p>Thanks for addressing Henish&#8217;s question, and for the comment on adaptive cursor sharing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Henish</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/#comment-36058</link>
		<dc:creator><![CDATA[Henish]]></dc:creator>
		<pubDate>Fri, 16 Apr 2010 21:16:26 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3458#comment-36058</guid>
		<description><![CDATA[timur : Thanks for the link


Randolf: Thanks for your valuble input, yes you get my point correctly 

Thanks for clarification

Henish]]></description>
		<content:encoded><![CDATA[<p>timur : Thanks for the link</p>
<p>Randolf: Thanks for your valuble input, yes you get my point correctly </p>
<p>Thanks for clarification</p>
<p>Henish</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Randolf Geist</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/#comment-36055</link>
		<dc:creator><![CDATA[Randolf Geist]]></dc:creator>
		<pubDate>Fri, 16 Apr 2010 18:22:17 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3458#comment-36055</guid>
		<description><![CDATA[&gt; you said there is many child cursors and they have same plan_hash_value who could be this possible

Timur,

as I understand the question I think it is more about the relation between multiple child cursors and the same execution plan - which is something quite usual, since e.g. CURSOR_SHARING=SIMILAR creates a new child cursor under certain circumstances (as outlined by Jonathan) that gets then optimized again. It may very well happen that this repeated optimization leads to exactly the same execution plan / PLAN_HASH_VALUE.

I guess Henish is under the impression that different child cursors would only be created if the optimization lead to different plans, but this is not the case with CURSOR_SHARING=SIMILAR. It is the other way round - a new child cursor is created (for different input values) and gets then optimized. Whether the resulting plan will be different or not doesn&#039;t matter.

Adaptive Cursor Sharing is different in this regard - it tries to minimize the number of different child cursors, something that didn&#039;t work very well in the initial 11.1.0.6 release, but has been improved in 11.1.0.7. May be this is more what Henish is thinking of.

Randolf]]></description>
		<content:encoded><![CDATA[<p>&gt; you said there is many child cursors and they have same plan_hash_value who could be this possible</p>
<p>Timur,</p>
<p>as I understand the question I think it is more about the relation between multiple child cursors and the same execution plan &#8211; which is something quite usual, since e.g. CURSOR_SHARING=SIMILAR creates a new child cursor under certain circumstances (as outlined by Jonathan) that gets then optimized again. It may very well happen that this repeated optimization leads to exactly the same execution plan / PLAN_HASH_VALUE.</p>
<p>I guess Henish is under the impression that different child cursors would only be created if the optimization lead to different plans, but this is not the case with CURSOR_SHARING=SIMILAR. It is the other way round &#8211; a new child cursor is created (for different input values) and gets then optimized. Whether the resulting plan will be different or not doesn&#8217;t matter.</p>
<p>Adaptive Cursor Sharing is different in this regard &#8211; it tries to minimize the number of different child cursors, something that didn&#8217;t work very well in the initial 11.1.0.6 release, but has been improved in 11.1.0.7. May be this is more what Henish is thinking of.</p>
<p>Randolf</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Timur Akhmadeev</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/#comment-36054</link>
		<dc:creator><![CDATA[Timur Akhmadeev]]></dc:creator>
		<pubDate>Fri, 16 Apr 2010 08:23:25 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3458#comment-36054</guid>
		<description><![CDATA[&gt;you said there is many child cursors and they have same plan_hash_value who could be this possible ? 
Randolf Geist has a post on this topic: &lt;a href=&quot;http://oracle-randolf.blogspot.com/2009/07/planhashvalue-how-equal-and-stable-are.html&quot; rel=&quot;nofollow&quot;&gt;PLAN_HASH_VALUE - How equal (and stable?) are your execution plans - part 1&lt;/a&gt;]]></description>
		<content:encoded><![CDATA[<p>&gt;you said there is many child cursors and they have same plan_hash_value who could be this possible ?<br />
Randolf Geist has a post on this topic: <a href="http://oracle-randolf.blogspot.com/2009/07/planhashvalue-how-equal-and-stable-are.html" rel="nofollow">PLAN_HASH_VALUE &#8211; How equal (and stable?) are your execution plans &#8211; part 1</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Henish</title>
		<link>http://jonathanlewis.wordpress.com/2010/04/15/predicate-again/#comment-36053</link>
		<dc:creator><![CDATA[Henish]]></dc:creator>
		<pubDate>Fri, 16 Apr 2010 02:58:22 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3458#comment-36053</guid>
		<description><![CDATA[Hello Sir,


&quot;We start with an SQL statement that happens to have a large number of child cursors – and every child cursor has exactly the same plan_hash_value (which almost guarantees they all have the same execution plan):&quot;

you said there is many child cursors and they have same plan_hash_value who could be this possible ? 

could you please flash more light on this
Thanks]]></description>
		<content:encoded><![CDATA[<p>Hello Sir,</p>
<p>&#8220;We start with an SQL statement that happens to have a large number of child cursors – and every child cursor has exactly the same plan_hash_value (which almost guarantees they all have the same execution plan):&#8221;</p>
<p>you said there is many child cursors and they have same plan_hash_value who could be this possible ? </p>
<p>could you please flash more light on this<br />
Thanks</p>
]]></content:encoded>
	</item>
</channel>
</rss>
