<?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: Buffer Sorts</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/</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: Change in parallel insert between 11.1 and 11.2 with serial data access &#171; Alexander Anokhin</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-47323</link>
		<dc:creator><![CDATA[Change in parallel insert between 11.1 and 11.2 with serial data access &#171; Alexander Anokhin]]></dc:creator>
		<pubDate>Fri, 22 Jun 2012 09:35:01 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-47323</guid>
		<description><![CDATA[[...] Pay attention on the step 4 &#8211; BUFFER SORT. BUFFER SORT it is buffering technic using sort area size, without actual sorting. Note: additional details: Jonathan Lewis &#8211; buffer-sorts [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Pay attention on the step 4 &#8211; BUFFER SORT. BUFFER SORT it is buffering technic using sort area size, without actual sorting. Note: additional details: Jonathan Lewis &#8211; buffer-sorts [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: xpchild &#187; Buffer sort 引发的血案</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-40827</link>
		<dc:creator><![CDATA[xpchild &#187; Buffer sort 引发的血案]]></dc:creator>
		<pubDate>Wed, 22 Jun 2011 12:56:10 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-40827</guid>
		<description><![CDATA[[...] http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/ [...]]]></description>
		<content:encoded><![CDATA[<p>[...] <a href="http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/" rel="nofollow">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/</a> [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joins &#8211; MJ &#171; Oracle Scratchpad</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-36983</link>
		<dc:creator><![CDATA[Joins &#8211; MJ &#171; Oracle Scratchpad]]></dc:creator>
		<pubDate>Sun, 15 Aug 2010 17:52:42 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-36983</guid>
		<description><![CDATA[[...] there is an appropriate index on the second table Oracle still reports a sort operation. Mind you, as I&#8217;ve pointed out in the past, sorts are necessarily what they seem to be.     Leave a [...]]]></description>
		<content:encoded><![CDATA[<p>[...] there is an appropriate index on the second table Oracle still reports a sort operation. Mind you, as I&#8217;ve pointed out in the past, sorts are necessarily what they seem to be.     Leave a [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31774</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sat, 06 Sep 2008 21:45:53 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31774</guid>
		<description><![CDATA[Himanshu,

I&#039;m sorry, I don&#039;t do query tuning on the blog. It&#039;s not a very good use of the limited amount of time I have for the Oracle community.

A general strategy you need to consider: Look at the list of tables, and the list of join conditions between tables.

Think about which table would return the smallest amount of data if you used the available predicates on that table.

Decide which table should be the next table, based on how the data size would change if you joined to it, and the join mechanism you would probably want to use to get there.  Repeat for each table in turn.

As you move from table to table, an important general strategy is to try to keep the volume of the result set as small a possible.

For a more detailed strategy, Dan Tow&#039;s book on SQL Tuning is probably the best option.]]></description>
		<content:encoded><![CDATA[<p>Himanshu,</p>
<p>I&#8217;m sorry, I don&#8217;t do query tuning on the blog. It&#8217;s not a very good use of the limited amount of time I have for the Oracle community.</p>
<p>A general strategy you need to consider: Look at the list of tables, and the list of join conditions between tables.</p>
<p>Think about which table would return the smallest amount of data if you used the available predicates on that table.</p>
<p>Decide which table should be the next table, based on how the data size would change if you joined to it, and the join mechanism you would probably want to use to get there.  Repeat for each table in turn.</p>
<p>As you move from table to table, an important general strategy is to try to keep the volume of the result set as small a possible.</p>
<p>For a more detailed strategy, Dan Tow&#8217;s book on SQL Tuning is probably the best option.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Himanshu</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31759</link>
		<dc:creator><![CDATA[Himanshu]]></dc:creator>
		<pubDate>Thu, 04 Sep 2008 19:18:26 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31759</guid>
		<description><![CDATA[I was able to improve the performance of the query when a index was created on one of the tables, but when the changes were moved to production the query was taking lot of time to execute and when the plan was checked it showed the buffer sort and then a Merge join cartesian.
I tried to put a hint and force the query to use the index but that also did not help as it was still doing the Merge join. The QA and DEV enviroment are same. Any idea how to improve the perfermonce. Please let me know if you need more info.
thanks]]></description>
		<content:encoded><![CDATA[<p>I was able to improve the performance of the query when a index was created on one of the tables, but when the changes were moved to production the query was taking lot of time to execute and when the plan was checked it showed the buffer sort and then a Merge join cartesian.<br />
I tried to put a hint and force the query to use the index but that also did not help as it was still doing the Merge join. The QA and DEV enviroment are same. Any idea how to improve the perfermonce. Please let me know if you need more info.<br />
thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Himanshu</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31717</link>
		<dc:creator><![CDATA[Himanshu]]></dc:creator>
		<pubDate>Tue, 26 Aug 2008 12:14:27 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31717</guid>
		<description><![CDATA[Jonathan,

thanks for the time. I am sorry , I should have send you the complete execution plan, the plan was showing a full table acess as the first step , then a buffer sort and then a Merge join cartesian. 
After trying different things it was corrected by creating a index so that the full table scan was  avoided which removed the buffer sort and the also removed the Merge join cartesian.

thanks]]></description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>thanks for the time. I am sorry , I should have send you the complete execution plan, the plan was showing a full table acess as the first step , then a buffer sort and then a Merge join cartesian.<br />
After trying different things it was corrected by creating a index so that the full table scan was  avoided which removed the buffer sort and the also removed the Merge join cartesian.</p>
<p>thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31681</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Tue, 19 Aug 2008 18:44:46 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31681</guid>
		<description><![CDATA[HeSh,

Sorry I missed your question back in 2007. I&#039;ve just added a note to the end of the article which probably answers your question. In 9i there is a multiplication involved that should not be there.

Himanshu,
There isn&#039;t enough information in your question for me to give a sensible answer. I don&#039;t think you are doing a merge join cartesian, though, if your first step is a buffer sort.]]></description>
		<content:encoded><![CDATA[<p>HeSh,</p>
<p>Sorry I missed your question back in 2007. I&#8217;ve just added a note to the end of the article which probably answers your question. In 9i there is a multiplication involved that should not be there.</p>
<p>Himanshu,<br />
There isn&#8217;t enough information in your question for me to give a sensible answer. I don&#8217;t think you are doing a merge join cartesian, though, if your first step is a buffer sort.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Himanshu</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31664</link>
		<dc:creator><![CDATA[Himanshu]]></dc:creator>
		<pubDate>Fri, 15 Aug 2008 20:42:25 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-31664</guid>
		<description><![CDATA[Hi,

I also have a situation where the buffer is returning 284395648 rows , and in the TKPROF output it is the first step. Any idea how it can be avoided as it takes around 20 minutes for the query to execute.

thanks]]></description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>I also have a situation where the buffer is returning 284395648 rows , and in the TKPROF output it is the first step. Any idea how it can be avoided as it takes around 20 minutes for the query to execute.</p>
<p>thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: HeSh</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-21915</link>
		<dc:creator><![CDATA[HeSh]]></dc:creator>
		<pubDate>Thu, 04 Oct 2007 10:39:39 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-21915</guid>
		<description><![CDATA[Why is the buffer sort cost so high then? If it only buffers the data and no sorting is done?
I have a situation where table access full costs around 10.000 and step after is buffer sort with 23.000.000.000. Seems insane.]]></description>
		<content:encoded><![CDATA[<p>Why is the buffer sort cost so high then? If it only buffers the data and no sorting is done?<br />
I have a situation where table access full costs around 10.000 and step after is buffer sort with 23.000.000.000. Seems insane.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: puika</title>
		<link>http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-16401</link>
		<dc:creator><![CDATA[puika]]></dc:creator>
		<pubDate>Sun, 29 Jul 2007 16:38:02 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2006/12/17/buffer-sorts/#comment-16401</guid>
		<description><![CDATA[Thank you very much,clarification.]]></description>
		<content:encoded><![CDATA[<p>Thank you very much,clarification.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
