<?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: Physical Reads are Very Fast, Why is this SQL Statement Slow</title>
	<atom:link href="http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/feed/" rel="self" type="application/rss+xml" />
	<link>http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/</link>
	<description>Miscellaneous Random Oracle Topics: Stop, Think, ... Understand</description>
	<lastBuildDate>Thu, 23 May 2013 04:02:42 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Log Buffer #183, A Carnival of the Vanities for DBAs</title>
		<link>http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/#comment-5278</link>
		<dc:creator><![CDATA[Log Buffer #183, A Carnival of the Vanities for DBAs]]></dc:creator>
		<pubDate>Fri, 22 Feb 2013 20:29:42 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=1700#comment-5278</guid>
		<description><![CDATA[[...] are actually more efficient for solving certain types of problems. In another excellent post titled Physical Reads are Very Fast, Why is this SQL Statement Slow Charles also dives into why a slow query is &#8220;actually&#8221; slow. There&#8217;s an [...]]]></description>
		<content:encoded><![CDATA[<p>[...] are actually more efficient for solving certain types of problems. In another excellent post titled Physical Reads are Very Fast, Why is this SQL Statement Slow Charles also dives into why a slow query is &#8220;actually&#8221; slow. There&#8217;s an [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/#comment-551</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Wed, 24 Mar 2010 02:39:44 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=1700#comment-551</guid>
		<description><![CDATA[Narendra,

I have been tied up a bit lately with non-Oracle things - I am giving a presentation about methods of custom report development to an ERP user&#039;s group tomorrow.  I will try to provide a couple more comments about the thread in a couple of days.  

It might be interesting to find out if the OP is running one of those special Sun servers with the T2000 CPUs (I think that is the number), where each thread receives an effective 300MHz of CPU capacity - that might explain the low number of consistent gets per second.

There are still some questions which were raised in this blog article that the OP would need to answer to avoid this article from slipping into just a guessing game - a lot of logical reasoning has gone into all of the comments, which I am very happy to see.

It could be a problem with:
* Statistics level set to ALL
* Exceeding the RAM memory in the server, causing a lot of swapping to disk.  I believe that someone correctly mentioned in the comments of this blog article that the OP would likely lose the benefit of the OS file cache if the server were really starved for RAM.  That is probably true, unless - it is a huge SAN cache that is actually allowing the 0.000030 average single block read time, or the data resides on SSD hardware (likely also with a huge cache), or maybe the OP is doing something scary - like having the data files located in a RAM drive (and in the process consuming a lot of physical RAM).
* Maybe 500 users are all simultaneously trying to execute this SQL statement, or another inefficient statement.
* The number of consistent gets is high enough that I think an execution time of 5 seconds is very unlikely even under ideal conditions.  7 seconds might be possible with a fast CPU and fast access to RAM.  Of course we do not know if the database is using 2KB blocks, 32KB blocks, or somewhere in between.
* I think that some of the people who responded in the thread are on the right track - the SQL statement needs to be changed because it currently will not scale to the performance needed by the OP.  I see that Iggy Fernandez suggested a materialized view - that might be a step in the right direction, or maybe a more complete change in the data model is needed.]]></description>
		<content:encoded><![CDATA[<p>Narendra,</p>
<p>I have been tied up a bit lately with non-Oracle things &#8211; I am giving a presentation about methods of custom report development to an ERP user&#8217;s group tomorrow.  I will try to provide a couple more comments about the thread in a couple of days.  </p>
<p>It might be interesting to find out if the OP is running one of those special Sun servers with the T2000 CPUs (I think that is the number), where each thread receives an effective 300MHz of CPU capacity &#8211; that might explain the low number of consistent gets per second.</p>
<p>There are still some questions which were raised in this blog article that the OP would need to answer to avoid this article from slipping into just a guessing game &#8211; a lot of logical reasoning has gone into all of the comments, which I am very happy to see.</p>
<p>It could be a problem with:<br />
* Statistics level set to ALL<br />
* Exceeding the RAM memory in the server, causing a lot of swapping to disk.  I believe that someone correctly mentioned in the comments of this blog article that the OP would likely lose the benefit of the OS file cache if the server were really starved for RAM.  That is probably true, unless &#8211; it is a huge SAN cache that is actually allowing the 0.000030 average single block read time, or the data resides on SSD hardware (likely also with a huge cache), or maybe the OP is doing something scary &#8211; like having the data files located in a RAM drive (and in the process consuming a lot of physical RAM).<br />
* Maybe 500 users are all simultaneously trying to execute this SQL statement, or another inefficient statement.<br />
* The number of consistent gets is high enough that I think an execution time of 5 seconds is very unlikely even under ideal conditions.  7 seconds might be possible with a fast CPU and fast access to RAM.  Of course we do not know if the database is using 2KB blocks, 32KB blocks, or somewhere in between.<br />
* I think that some of the people who responded in the thread are on the right track &#8211; the SQL statement needs to be changed because it currently will not scale to the performance needed by the OP.  I see that Iggy Fernandez suggested a materialized view &#8211; that might be a step in the right direction, or maybe a more complete change in the data model is needed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Narendra</title>
		<link>http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/#comment-547</link>
		<dc:creator><![CDATA[Narendra]]></dc:creator>
		<pubDate>Tue, 23 Mar 2010 20:57:33 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=1700#comment-547</guid>
		<description><![CDATA[Charles,

I was hoping you would throw some light on the case in question (either on forum or here). So what can be the reason for the CPU time? Or is that expected?]]></description>
		<content:encoded><![CDATA[<p>Charles,</p>
<p>I was hoping you would throw some light on the case in question (either on forum or here). So what can be the reason for the CPU time? Or is that expected?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/#comment-508</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Tue, 16 Mar 2010 21:13:50 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=1700#comment-508</guid>
		<description><![CDATA[Narendra,

The 10.2.0.x reference refers to consistent gets that were mostly caused by full table scans.  

The reference on page 308 of the Expert Oracle Practices book is from a TKPROF summary where the execution plan consisted mainly of nested loop joins with index lookups and one Cartesian join that was caused by statistics that were a couple of hours out of date.  The execution time summary that we included on page 313 of the book for the same SQL statement shows 66 minutes and 44.31 seconds for the query execution when the STATISTICS_LEVEL parameter was set to ALL on Oracle 10.2.0.4 and 6 minutes and 56.73 seconds for the query execution with STATISTICS_LEVEL set to TYPICAL on Oracle 10.2.0.4.  If we recalculate the number of consistent gets using those numbers, at the setting of ALL the server processed an average of 32,205 consistent gets per second.  With the setting at TYPICAL the server performed an average of 309,454 consistent gets per second.

I had not considered the possibility of index compression.  I wonder if that would cause a significant change in the CPU usage?  I see that Richard Foote has a blog series on index compression: http://richardfoote.wordpress.com/2008/02/17/index-compression-part-i-low/
I also had not considered the possibility of table compression or column level encryption (or for that matter data encryption between the server and client): http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/tables002.htm#insertedID6 

But it also makes me wonder if more than 1 session, maybe 500, were all trying to execute this or a similar SQL statement at the same time the OP was attempting to trace the execution – that could effectively reduce the upper limit for the number of consistent gets for the traced session by a factor of 500 or more (while RAM is fast, there is an upper limit to RAM speed).]]></description>
		<content:encoded><![CDATA[<p>Narendra,</p>
<p>The 10.2.0.x reference refers to consistent gets that were mostly caused by full table scans.  </p>
<p>The reference on page 308 of the Expert Oracle Practices book is from a TKPROF summary where the execution plan consisted mainly of nested loop joins with index lookups and one Cartesian join that was caused by statistics that were a couple of hours out of date.  The execution time summary that we included on page 313 of the book for the same SQL statement shows 66 minutes and 44.31 seconds for the query execution when the STATISTICS_LEVEL parameter was set to ALL on Oracle 10.2.0.4 and 6 minutes and 56.73 seconds for the query execution with STATISTICS_LEVEL set to TYPICAL on Oracle 10.2.0.4.  If we recalculate the number of consistent gets using those numbers, at the setting of ALL the server processed an average of 32,205 consistent gets per second.  With the setting at TYPICAL the server performed an average of 309,454 consistent gets per second.</p>
<p>I had not considered the possibility of index compression.  I wonder if that would cause a significant change in the CPU usage?  I see that Richard Foote has a blog series on index compression: <a href="http://richardfoote.wordpress.com/2008/02/17/index-compression-part-i-low/" rel="nofollow">http://richardfoote.wordpress.com/2008/02/17/index-compression-part-i-low/</a><br />
I also had not considered the possibility of table compression or column level encryption (or for that matter data encryption between the server and client): <a href="http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/tables002.htm#insertedID6" rel="nofollow">http://download.oracle.com/docs/cd/E11882_01/server.112/e10595/tables002.htm#insertedID6</a> </p>
<p>But it also makes me wonder if more than 1 session, maybe 500, were all trying to execute this or a similar SQL statement at the same time the OP was attempting to trace the execution – that could effectively reduce the upper limit for the number of consistent gets for the traced session by a factor of 500 or more (while RAM is fast, there is an upper limit to RAM speed).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Narendra</title>
		<link>http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/#comment-506</link>
		<dc:creator><![CDATA[Narendra]]></dc:creator>
		<pubDate>Tue, 16 Mar 2010 14:08:54 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=1700#comment-506</guid>
		<description><![CDATA[Charles,

Are those figures (logical I/Os per second) based on reading one block at a time (typically indexed access) or multiple blocks at a time (typically full scan) ?
Another reason came to mind about increased CPU usage. Table and/or index compression used on I_JOURNAL table (or its index) ? Although not sure how much more CPU the compression will cause.]]></description>
		<content:encoded><![CDATA[<p>Charles,</p>
<p>Are those figures (logical I/Os per second) based on reading one block at a time (typically indexed access) or multiple blocks at a time (typically full scan) ?<br />
Another reason came to mind about increased CPU usage. Table and/or index compression used on I_JOURNAL table (or its index) ? Although not sure how much more CPU the compression will cause.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Charles Hooper</title>
		<link>http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/#comment-505</link>
		<dc:creator><![CDATA[Charles Hooper]]></dc:creator>
		<pubDate>Mon, 15 Mar 2010 12:55:45 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=1700#comment-505</guid>
		<description><![CDATA[Great discussion so far - I do not wish to bring an end to the constructive comments.  Deleting data is an interesting approach to making the query execute faster, but that might throw off the query results.

For points of reference, &lt;a href=&quot;http://hoopercharles.files.wordpress.com/2009/12/largevalueformbrc21.jpg&quot; rel=&quot;nofollow&quot;&gt;this screen shot&lt;/a&gt; (10.2.0.x) shows 7,407,092 consistent gets performed in 87.51 seconds, which implies a rate of about 84,643 consistent gets per second on a 4 year old Intel Xeon 3.66GHz server:

Page 308 of the Expert Oracle Practices book shows a TKPROF output with the STATISTICS_LEVEL parameter set to ALL on Oracle 10.2.0.4 where the server performed 128,958,761 consistent gets in 2857.12 seconds, which implies a rate of 45,136 consistent gets per second on a 2.93 GHz &lt;a href=&quot;http://ark.intel.com/Product.aspx?id=37111&amp;processor=X5570&amp;spec-codes=SLBF3&quot; rel=&quot;nofollow&quot;&gt;Intel Nehalem architecture CPU&lt;/a&gt;.  The number of consistent gets with the Nehalem CPU jumps significantly on Oracle 10.2.0.4 when the STATISTICS_LEVEL is set to TYPICAL.

Edit: I want to repeat that the above are just points of reference for how many logical I/Os might be performed per second.]]></description>
		<content:encoded><![CDATA[<p>Great discussion so far &#8211; I do not wish to bring an end to the constructive comments.  Deleting data is an interesting approach to making the query execute faster, but that might throw off the query results.</p>
<p>For points of reference, <a href="http://hoopercharles.files.wordpress.com/2009/12/largevalueformbrc21.jpg" rel="nofollow">this screen shot</a> (10.2.0.x) shows 7,407,092 consistent gets performed in 87.51 seconds, which implies a rate of about 84,643 consistent gets per second on a 4 year old Intel Xeon 3.66GHz server:</p>
<p>Page 308 of the Expert Oracle Practices book shows a TKPROF output with the STATISTICS_LEVEL parameter set to ALL on Oracle 10.2.0.4 where the server performed 128,958,761 consistent gets in 2857.12 seconds, which implies a rate of 45,136 consistent gets per second on a 2.93 GHz <a href="http://ark.intel.com/Product.aspx?id=37111&amp;processor=X5570&amp;spec-codes=SLBF3" rel="nofollow">Intel Nehalem architecture CPU</a>.  The number of consistent gets with the Nehalem CPU jumps significantly on Oracle 10.2.0.4 when the STATISTICS_LEVEL is set to TYPICAL.</p>
<p>Edit: I want to repeat that the above are just points of reference for how many logical I/Os might be performed per second.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Narendra</title>
		<link>http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/#comment-503</link>
		<dc:creator><![CDATA[Narendra]]></dc:creator>
		<pubDate>Mon, 15 Mar 2010 10:26:38 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=1700#comment-503</guid>
		<description><![CDATA[I was waiting to see a blog post from you on this. :)
I believe jametong has answered most of your questions above and you yourself has answered many in your response on the forum. Some remaining (??) are:
    &lt;b&gt; How is it possible that 105.05 seconds of CPU time were required for a SQL statement that had a total execution time of 102.69 seconds?  What was the CPU doing for 105.05 seconds? &lt;/b&gt;
The difference is simply due to the different ways oracle uses to derive CPU time and elapsed time. The elapsed time &quot;misses&quot; out on counting especially when there are large number of small waits (283093 waits with max wait of 0.02). I learned it from Tom.
   &lt;b&gt; Why was there a miss in the library cache during both the parse and execute calls? &lt;/b&gt;
Because SQL was executed from SQL*Plus
  &lt;b&gt; What caused the incorrect cardinality estimates, and how would you correct the cardinality estimates? &lt;/b&gt;
  I would verify (and regather) statistics on I_JOURNAL table and IJL_LIN_FK_IX index, which should take care of difference in cardinality estimates.
   &lt;b&gt; What needs to be done to allow the query to complete in 5 seconds?&lt;/b&gt;
   Query less data or delete data from tables ?? :) On a serious note, the 5 seconds of expected execution time may not be realistic given the database version, table structures, available CPU/memory etc.
   &lt;b&gt; Are the server’s CPUs a constraining resource for this SQL statement – if so, why, if not, why not? &lt;/b&gt;
Looks like apparantly but I won&#039;t be surprised if it turns out to be an optimizer limitation (or &quot;bug&quot;) if the database version is 10.1.0.x.
For me, the main suspect is I_JOURNAL table (and probably its index). If I_JOURNAL table is in a tablespace with non-default block size (16k or 32K), would that possibly explain higher CPU time ? I remember Richard Foote describing the increased CPU usage when an index was rebuilt in a 16K block tablespace as compared to a 8K block tablespace. I also thought if having LOB datatype columns in I_JOURNAL table might affect the increased CPU time but as the query is simply doing a COUNT(*), I am not really sure if it matters.
However, it certainly looks like I_JOURNAL table (and its index) access looks to be the most influencial factor (the outer hash join also does not appear to be spilling to disk so probably no issues with PGA memory settings). So, in order to isolate the issue, I would also trace following queries
1) Original query wihout I_JOURNAL table
2) A simple count(*) on I_JOURNAL table alone.

p.s. BTW, if you have noticed in the forum, there is a significant difference between the trace details (especially for I_JOURNAL table) between original query and the query with FULL hint. So it appears that OP has also changed something else, in addition to adding FULL hint. Following are key diff.
		Original		With Full Hint		Diff
Rows        888117		   5010465		  4122348
CR	      5389		       262646		       257257
PR	      4986		        198250			193264
Elapsed	   23801052	         35075329	       11274277]]></description>
		<content:encoded><![CDATA[<p>I was waiting to see a blog post from you on this. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
I believe jametong has answered most of your questions above and you yourself has answered many in your response on the forum. Some remaining (??) are:<br />
    <b> How is it possible that 105.05 seconds of CPU time were required for a SQL statement that had a total execution time of 102.69 seconds?  What was the CPU doing for 105.05 seconds? </b><br />
The difference is simply due to the different ways oracle uses to derive CPU time and elapsed time. The elapsed time &#8220;misses&#8221; out on counting especially when there are large number of small waits (283093 waits with max wait of 0.02). I learned it from Tom.<br />
   <b> Why was there a miss in the library cache during both the parse and execute calls? </b><br />
Because SQL was executed from SQL*Plus<br />
  <b> What caused the incorrect cardinality estimates, and how would you correct the cardinality estimates? </b><br />
  I would verify (and regather) statistics on I_JOURNAL table and IJL_LIN_FK_IX index, which should take care of difference in cardinality estimates.<br />
   <b> What needs to be done to allow the query to complete in 5 seconds?</b><br />
   Query less data or delete data from tables ?? <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  On a serious note, the 5 seconds of expected execution time may not be realistic given the database version, table structures, available CPU/memory etc.<br />
   <b> Are the server’s CPUs a constraining resource for this SQL statement – if so, why, if not, why not? </b><br />
Looks like apparantly but I won&#8217;t be surprised if it turns out to be an optimizer limitation (or &#8220;bug&#8221;) if the database version is 10.1.0.x.<br />
For me, the main suspect is I_JOURNAL table (and probably its index). If I_JOURNAL table is in a tablespace with non-default block size (16k or 32K), would that possibly explain higher CPU time ? I remember Richard Foote describing the increased CPU usage when an index was rebuilt in a 16K block tablespace as compared to a 8K block tablespace. I also thought if having LOB datatype columns in I_JOURNAL table might affect the increased CPU time but as the query is simply doing a COUNT(*), I am not really sure if it matters.<br />
However, it certainly looks like I_JOURNAL table (and its index) access looks to be the most influencial factor (the outer hash join also does not appear to be spilling to disk so probably no issues with PGA memory settings). So, in order to isolate the issue, I would also trace following queries<br />
1) Original query wihout I_JOURNAL table<br />
2) A simple count(*) on I_JOURNAL table alone.</p>
<p>p.s. BTW, if you have noticed in the forum, there is a significant difference between the trace details (especially for I_JOURNAL table) between original query and the query with FULL hint. So it appears that OP has also changed something else, in addition to adding FULL hint. Following are key diff.<br />
		Original		With Full Hint		Diff<br />
Rows        888117		   5010465		  4122348<br />
CR	      5389		       262646		       257257<br />
PR	      4986		        198250			193264<br />
Elapsed	   23801052	         35075329	       11274277</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jametong</title>
		<link>http://hoopercharles.wordpress.com/2010/03/15/physical-reads-are-very-fast-why-is-this-sql-statement-slow/#comment-502</link>
		<dc:creator><![CDATA[jametong]]></dc:creator>
		<pubDate>Mon, 15 Mar 2010 07:10:53 +0000</pubDate>
		<guid isPermaLink="false">http://hoopercharles.wordpress.com/?p=1700#comment-502</guid>
		<description><![CDATA[* What was the server doing in the 9.75 seconds of the INDEX RANGE SCAN operation on the last line of the execution plan that probably could not be attributed to physical I/O?

&lt;strong&gt;The CPU time mainly doing the logical IO,and Logical IO is a time consuming operation.&lt;/strong&gt;

* How is it possible that 105.05 seconds of CPU time were required for a SQL statement that had a total execution time of 102.69 seconds?  What was the CPU doing for 105.05 seconds?
&lt;strong&gt;can answer this ? any parallel operation?&lt;/strong&gt;

* How can you explain the 0.000030 second single block read time?

&lt;strong&gt;the physical IO mainly due to read from Filesystem Cache.&lt;/strong&gt;

* Why are all of the bind variables named similar to SYS_B_nn?

&lt;strong&gt;the application uses cursor_sharing = force&#124;similar ,more possible answer is cursor_sharing = force.&lt;/strong&gt;

* Are the number of elements in the IN list contributing to the performance problem?

&lt;strong&gt;I think number of elements in the IN list contribute little to the performance problem.&lt;/strong&gt;

* Are there any hints that you might try to force a different execution plan, and if so, is there a reason to change the execution plan?

&lt;strong&gt;Need more detail about the data distribution to do this.&lt;/strong&gt;

* Why was there a miss in the library cache during both the parse and execute calls?

&lt;strong&gt;only execute once? miss in the execution call may to due to the statement cache with a optimizer change.&lt;/strong&gt;

* What caused the incorrect cardinality estimates, and how would you correct the cardinality estimates?

&lt;strong&gt;I have no answer to this.&lt;/strong&gt;

* Does the ANSI style join syntax have an impact on the execution time for the query?
* Would you recommend any changes to initialization parameters, and why?
* What needs to be done to allow the query to complete in 5 seconds?
* How would the server’s behavior change if significant competition for the server’s RAM caused excessive use of the operating system’s page file?

&lt;strong&gt;CPU consumption with rise a lot, and physical io read time with raise also ,because there will not be so many blocks in FileSystem Cache again.&lt;/strong&gt;

* Are the server’s CPUs a constraining resource for this SQL statement – if so, why, if not, why not?

&lt;strong&gt;I think the problem is more due to the high consistent gets ,and not due to the CPUs limitation.&lt;/strong&gt;]]></description>
		<content:encoded><![CDATA[<p>* What was the server doing in the 9.75 seconds of the INDEX RANGE SCAN operation on the last line of the execution plan that probably could not be attributed to physical I/O?</p>
<p><strong>The CPU time mainly doing the logical IO,and Logical IO is a time consuming operation.</strong></p>
<p>* How is it possible that 105.05 seconds of CPU time were required for a SQL statement that had a total execution time of 102.69 seconds?  What was the CPU doing for 105.05 seconds?<br />
<strong>can answer this ? any parallel operation?</strong></p>
<p>* How can you explain the 0.000030 second single block read time?</p>
<p><strong>the physical IO mainly due to read from Filesystem Cache.</strong></p>
<p>* Why are all of the bind variables named similar to SYS_B_nn?</p>
<p><strong>the application uses cursor_sharing = force|similar ,more possible answer is cursor_sharing = force.</strong></p>
<p>* Are the number of elements in the IN list contributing to the performance problem?</p>
<p><strong>I think number of elements in the IN list contribute little to the performance problem.</strong></p>
<p>* Are there any hints that you might try to force a different execution plan, and if so, is there a reason to change the execution plan?</p>
<p><strong>Need more detail about the data distribution to do this.</strong></p>
<p>* Why was there a miss in the library cache during both the parse and execute calls?</p>
<p><strong>only execute once? miss in the execution call may to due to the statement cache with a optimizer change.</strong></p>
<p>* What caused the incorrect cardinality estimates, and how would you correct the cardinality estimates?</p>
<p><strong>I have no answer to this.</strong></p>
<p>* Does the ANSI style join syntax have an impact on the execution time for the query?<br />
* Would you recommend any changes to initialization parameters, and why?<br />
* What needs to be done to allow the query to complete in 5 seconds?<br />
* How would the server’s behavior change if significant competition for the server’s RAM caused excessive use of the operating system’s page file?</p>
<p><strong>CPU consumption with rise a lot, and physical io read time with raise also ,because there will not be so many blocks in FileSystem Cache again.</strong></p>
<p>* Are the server’s CPUs a constraining resource for this SQL statement – if so, why, if not, why not?</p>
<p><strong>I think the problem is more due to the high consistent gets ,and not due to the CPUs limitation.</strong></p>
]]></content:encoded>
	</item>
</channel>
</rss>
