<?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: Parallelism and CBO</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2007/02/19/parallelism-and-cbo/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2007/02/19/parallelism-and-cbo/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Mon, 20 May 2013 17:10:14 +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/2007/02/19/parallelism-and-cbo/#comment-3463</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Tue, 20 Feb 2007 19:20:52 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/19/parallelism-and-cbo/#comment-3463</guid>
		<description><![CDATA[Antonio, the comments you raise highlight the facts that (a) I didn&#039;t write the conclusion very well, and (b) I fell into the same trap as the person who originally emailed me the problem.

I haven&#039;t changed the order of statements - I&#039;ve simply moved from a &#039;create index&#039;/&#039;add constraint&#039; to &#039;create constraint&#039;.

However, my &quot;instinctive&quot; reading of the statement:
&lt;code&gt;
alter table add constraint parallel N
&lt;/code&gt;
was that the operation of adding the constraint (which implicitly means the creation of the index) should be parallelised: hence my surprise that the table became parallel whilst the index did not.

In fact, the statement is a shorthand for the pair of statements:
&lt;code&gt;
alter table add constraint;
alter table parallel (degree N);
&lt;/code&gt;

Creating the index as parallel 3 means you will get 6 PX slaves running, where the &quot;top&quot; three will each create an index on one-third of the data in its own data segment.

This separation of work means you could typically allocate an average of half an extent per slave more than you really need for the index - with a minimum of 3 extents allocated for the index.

In some versions of Oracle there were various features (sometimes bugs) relating to how Oracle tried to trim extents rather than putting the excess space into the index&#039;s free lists.]]></description>
		<content:encoded><![CDATA[<p>Antonio, the comments you raise highlight the facts that (a) I didn&#8217;t write the conclusion very well, and (b) I fell into the same trap as the person who originally emailed me the problem.</p>
<p>I haven&#8217;t changed the order of statements &#8211; I&#8217;ve simply moved from a &#8216;create index&#8217;/'add constraint&#8217; to &#8216;create constraint&#8217;.</p>
<p>However, my &#8220;instinctive&#8221; reading of the statement:<br />
<code><br />
alter table add constraint parallel N<br />
</code><br />
was that the operation of adding the constraint (which implicitly means the creation of the index) should be parallelised: hence my surprise that the table became parallel whilst the index did not.</p>
<p>In fact, the statement is a shorthand for the pair of statements:<br />
<code><br />
alter table add constraint;<br />
alter table parallel (degree N);<br />
</code></p>
<p>Creating the index as parallel 3 means you will get 6 PX slaves running, where the &#8220;top&#8221; three will each create an index on one-third of the data in its own data segment.</p>
<p>This separation of work means you could typically allocate an average of half an extent per slave more than you really need for the index &#8211; with a minimum of 3 extents allocated for the index.</p>
<p>In some versions of Oracle there were various features (sometimes bugs) relating to how Oracle tried to trim extents rather than putting the excess space into the index&#8217;s free lists.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Antonio</title>
		<link>http://jonathanlewis.wordpress.com/2007/02/19/parallelism-and-cbo/#comment-3457</link>
		<dc:creator><![CDATA[Antonio]]></dc:creator>
		<pubDate>Tue, 20 Feb 2007 14:10:40 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/2007/02/19/parallelism-and-cbo/#comment-3457</guid>
		<description><![CDATA[Well...

The fact that the parallelism used for the table is not applied to the index, it&#039;s a good for me (different parallelism for index and table...why not?).

I find very strange (=a bug) that the statements order you used can change how the optimizer work.

Another question: are there differences in creating and index, then do a &quot;alter index parallel 3&quot; and a &quot;create index parallel 3&quot;?

I think yes. I saw this with tables, creating an object as &quot;natively&quot; parallel require also a different space allocation (i.e more sparse)]]></description>
		<content:encoded><![CDATA[<p>Well&#8230;</p>
<p>The fact that the parallelism used for the table is not applied to the index, it&#8217;s a good for me (different parallelism for index and table&#8230;why not?).</p>
<p>I find very strange (=a bug) that the statements order you used can change how the optimizer work.</p>
<p>Another question: are there differences in creating and index, then do a &#8220;alter index parallel 3&#8243; and a &#8220;create index parallel 3&#8243;?</p>
<p>I think yes. I saw this with tables, creating an object as &#8220;natively&#8221; parallel require also a different space allocation (i.e more sparse)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
