<?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: Expanding SQL</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Sat, 18 May 2013 11:04:10 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/#comment-47894</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Fri, 13 Jul 2012 10:32:50 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9126#comment-47894</guid>
		<description><![CDATA[Nikolay,

Thanks for linking to the OTN post - that was an excellent example of how to present a problem.

I&#039;ve had a look at the problem, and written a couple of notes - I may write a little more on my blog over the weekend. I think an interesting point here is that the &quot;unparsed&quot; SQL can show the join order and join conditions, but (in line with my prevous comment about semi-joins) can&#039;t indicate all the limitations that apply as you go from table to table.  In this case I think there was a hidden side-effect of the order of the FROM clause that made the default rewrite mechanism block (or introduce an error for) a particular index.]]></description>
		<content:encoded><![CDATA[<p>Nikolay,</p>
<p>Thanks for linking to the OTN post &#8211; that was an excellent example of how to present a problem.</p>
<p>I&#8217;ve had a look at the problem, and written a couple of notes &#8211; I may write a little more on my blog over the weekend. I think an interesting point here is that the &#8220;unparsed&#8221; SQL can show the join order and join conditions, but (in line with my prevous comment about semi-joins) can&#8217;t indicate all the limitations that apply as you go from table to table.  In this case I think there was a hidden side-effect of the order of the FROM clause that made the default rewrite mechanism block (or introduce an error for) a particular index.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: savvinov</title>
		<link>http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/#comment-47888</link>
		<dc:creator><![CDATA[savvinov]]></dc:creator>
		<pubDate>Fri, 13 Jul 2012 06:11:36 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9126#comment-47888</guid>
		<description><![CDATA[Thanks for your reply.

The problem I was referring to was with an ANSI-style outer join -- there was a thread about it with a reproducible test case https://forums.oracle.com/forums/thread.jspa?threadID=2394716 

It was giving a bad plan, and rewriting it in the traditional style solved that problem. However, I was surprised to see in 10053 trace file for the ANSI-style query that the &quot;unparsed query&quot; was nearly exactly the same as the rewritten one. So at least in that particular case &quot;unparsed query&quot; was very misleading.]]></description>
		<content:encoded><![CDATA[<p>Thanks for your reply.</p>
<p>The problem I was referring to was with an ANSI-style outer join &#8212; there was a thread about it with a reproducible test case <a href="https://forums.oracle.com/forums/thread.jspa?threadID=2394716" rel="nofollow">https://forums.oracle.com/forums/thread.jspa?threadID=2394716</a> </p>
<p>It was giving a bad plan, and rewriting it in the traditional style solved that problem. However, I was surprised to see in 10053 trace file for the ANSI-style query that the &#8220;unparsed query&#8221; was nearly exactly the same as the rewritten one. So at least in that particular case &#8220;unparsed query&#8221; was very misleading.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/#comment-47870</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 12 Jul 2012 19:03:46 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9126#comment-47870</guid>
		<description><![CDATA[Nikolay,

I don&#039;t have a definitive answer on the unparsed query. I know that it is not (always) the whole truth because, for example, you can have an unparsed query that shows something that appears to be a join when the actual plan will have to use a semi-join. I just take it a possible clue about how the optimizer is working and where it&#039;s heading, but I won&#039;t assume that it&#039;s an infallible guide line (at least for us outsiders) to the optimizer&#039;s final destination.]]></description>
		<content:encoded><![CDATA[<p>Nikolay,</p>
<p>I don&#8217;t have a definitive answer on the unparsed query. I know that it is not (always) the whole truth because, for example, you can have an unparsed query that shows something that appears to be a join when the actual plan will have to use a semi-join. I just take it a possible clue about how the optimizer is working and where it&#8217;s heading, but I won&#8217;t assume that it&#8217;s an infallible guide line (at least for us outsiders) to the optimizer&#8217;s final destination.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: savvinov</title>
		<link>http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/#comment-47842</link>
		<dc:creator><![CDATA[savvinov]]></dc:creator>
		<pubDate>Thu, 12 Jul 2012 08:16:57 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9126#comment-47842</guid>
		<description><![CDATA[Thanks Jonathan.

BTW what is the significance of &quot;unparsed query text&quot;? Once I was tracking down a problem due to an ANSI outer join, and took this &quot;unparsed query text&quot; and ran an explain plan on it -- it gave me a different plan from what the optimizer eventually arrived in the 10053 trace file. There weren&#039;t any binds in the query, so apparently after it gets to this &quot;unparsed query text&quot;, the optimizer does more things to it, which we don&#039;t know (and can never find out about). Is this correct or am I missing something?... And if this is correct, then is there any use in &quot;unparsed query text&quot; at all?

Best regards,
  Nikolay]]></description>
		<content:encoded><![CDATA[<p>Thanks Jonathan.</p>
<p>BTW what is the significance of &#8220;unparsed query text&#8221;? Once I was tracking down a problem due to an ANSI outer join, and took this &#8220;unparsed query text&#8221; and ran an explain plan on it &#8212; it gave me a different plan from what the optimizer eventually arrived in the 10053 trace file. There weren&#8217;t any binds in the query, so apparently after it gets to this &#8220;unparsed query text&#8221;, the optimizer does more things to it, which we don&#8217;t know (and can never find out about). Is this correct or am I missing something?&#8230; And if this is correct, then is there any use in &#8220;unparsed query text&#8221; at all?</p>
<p>Best regards,<br />
  Nikolay</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mojeed Adetokunboh</title>
		<link>http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/#comment-47819</link>
		<dc:creator><![CDATA[Mojeed Adetokunboh]]></dc:creator>
		<pubDate>Wed, 11 Jul 2012 11:50:53 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9126#comment-47819</guid>
		<description><![CDATA[Very resourceful. &quot;Thanks&quot;.]]></description>
		<content:encoded><![CDATA[<p>Very resourceful. &#8220;Thanks&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Amardeep Sidhu</title>
		<link>http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/#comment-47813</link>
		<dc:creator><![CDATA[Amardeep Sidhu]]></dc:creator>
		<pubDate>Wed, 11 Jul 2012 07:29:55 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9126#comment-47813</guid>
		<description><![CDATA[Cool stuff.

Thanks !]]></description>
		<content:encoded><![CDATA[<p>Cool stuff.</p>
<p>Thanks !</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: deepaklipu</title>
		<link>http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/#comment-47810</link>
		<dc:creator><![CDATA[deepaklipu]]></dc:creator>
		<pubDate>Wed, 11 Jul 2012 03:28:20 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9126#comment-47810</guid>
		<description><![CDATA[Really helpful ... Thanks]]></description>
		<content:encoded><![CDATA[<p>Really helpful &#8230; Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sayan Malakshinov</title>
		<link>http://jonathanlewis.wordpress.com/2012/07/10/expanding-sql/#comment-47802</link>
		<dc:creator><![CDATA[Sayan Malakshinov]]></dc:creator>
		<pubDate>Tue, 10 Jul 2012 18:24:31 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=9126#comment-47802</guid>
		<description><![CDATA[Excellent! This is exactly what I&#039;ve always wanted. Previously used for this tracing 10053, for example, recently to optimize the &quot;gv$lock&quot;: solved problem with a large number of latch free: dml allocation latch with queries from vlock. The key to solving the problem is found in your &quot;Oracle core&quot; - x$ktadm. Just created a view where you could specify a block of &quot;union all&quot; with needed type of lock of the original  gv$lock: http://pastebin.com/PcGNK6bi or full post in russian: http://www.xt-r.com/2012/06/latch-free-dml-allocation-latch-vlock.html]]></description>
		<content:encoded><![CDATA[<p>Excellent! This is exactly what I&#8217;ve always wanted. Previously used for this tracing 10053, for example, recently to optimize the &#8220;gv$lock&#8221;: solved problem with a large number of latch free: dml allocation latch with queries from vlock. The key to solving the problem is found in your &#8220;Oracle core&#8221; &#8211; x$ktadm. Just created a view where you could specify a block of &#8220;union all&#8221; with needed type of lock of the original  gv$lock: <a href="http://pastebin.com/PcGNK6bi" rel="nofollow">http://pastebin.com/PcGNK6bi</a> or full post in russian: <a href="http://www.xt-r.com/2012/06/latch-free-dml-allocation-latch-vlock.html" rel="nofollow">http://www.xt-r.com/2012/06/latch-free-dml-allocation-latch-vlock.html</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
