<?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/"
		>
<channel>
	<title>Comments on: Testing Knowledge of Database Performance &#8211; Is this a good Execution Plan?</title>
	<atom:link href="http://technology.amis.nl/blog/1333/testing-knowledge-of-database-performance-is-this-a-good-execution-plan/feed" rel="self" type="application/rss+xml" />
	<link>http://technology.amis.nl/blog/1333/testing-knowledge-of-database-performance-is-this-a-good-execution-plan</link>
	<description>Weblog for the AMIS Technology corner</description>
	<lastBuildDate>Fri, 10 Feb 2012 16:47:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Vinod Ladda</title>
		<link>http://technology.amis.nl/blog/1333/testing-knowledge-of-database-performance-is-this-a-good-execution-plan/comment-page-1#comment-197570</link>
		<dc:creator>Vinod Ladda</dc:creator>
		<pubDate>Fri, 16 Feb 2007 05:41:43 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=1333#comment-197570</guid>
		<description>Good expample. Things can really get complicated when a query is having joins between 4 or 5 tables, one or two nested queries, order by/group by clauses.</description>
		<content:encoded><![CDATA[<p>Good expample. Things can really get complicated when a query is having joins between 4 or 5 tables, one or two nested queries, order by/group by clauses.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Baker</title>
		<link>http://technology.amis.nl/blog/1333/testing-knowledge-of-database-performance-is-this-a-good-execution-plan/comment-page-1#comment-118139</link>
		<dc:creator>Scott Baker</dc:creator>
		<pubDate>Tue, 26 Sep 2006 16:41:16 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=1333#comment-118139</guid>
		<description>After learning sql_trace with the 10046 and 10053 trace with tkprof, I would also recommend using the following Note in Metalink:

Note:215187.1 SQLTXPLAIN.SQL - Enhanced Explain Plan and related diagnostic info for one SQL statement

This gives you a lot more detailed information on the underlying tables being used (especially useful when selecting against a view), the last time they were analyzed, constraint information and a whole lot more.</description>
		<content:encoded><![CDATA[<p>After learning sql_trace with the 10046 and 10053 trace with tkprof, I would also recommend using the following Note in Metalink:</p>
<p>Note:215187.1 SQLTXPLAIN.SQL &#8211; Enhanced Explain Plan and related diagnostic info for one SQL statement</p>
<p>This gives you a lot more detailed information on the underlying tables being used (especially useful when selecting against a view), the last time they were analyzed, constraint information and a whole lot more.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco Gralike</title>
		<link>http://technology.amis.nl/blog/1333/testing-knowledge-of-database-performance-is-this-a-good-execution-plan/comment-page-1#comment-114411</link>
		<dc:creator>Marco Gralike</dc:creator>
		<pubDate>Wed, 20 Sep 2006 23:34:58 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=1333#comment-114411</guid>
		<description>@Jacco: 

I agree, reality differs. 

A workaround could be (of course the solution would be invest in your self...READ and learn...) running DB Console during development and make extensive use of ADDM and the AWR (but this is also not a failsafe method). This would minimize hind site approaches (in production environments!) like, using Anjo Kolks YAPP (see: www.oraperf.com - my prevered approach) or the current Oracle performance methology, tuning on the use of resources.

...</description>
		<content:encoded><![CDATA[<p>@Jacco: </p>
<p>I agree, reality differs. </p>
<p>A workaround could be (of course the solution would be invest in your self&#8230;READ and learn&#8230;) running DB Console during development and make extensive use of ADDM and the AWR (but this is also not a failsafe method). This would minimize hind site approaches (in production environments!) like, using Anjo Kolks YAPP (see: <a href="http://www.oraperf.com" rel="nofollow">http://www.oraperf.com</a> &#8211; my prevered approach) or the current Oracle performance methology, tuning on the use of resources.</p>
<p>&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jacco Landlust</title>
		<link>http://technology.amis.nl/blog/1333/testing-knowledge-of-database-performance-is-this-a-good-execution-plan/comment-page-1#comment-114371</link>
		<dc:creator>Jacco Landlust</dc:creator>
		<pubDate>Wed, 20 Sep 2006 22:28:03 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=1333#comment-114371</guid>
		<description>I love the examples, but the major things I miss is skewed data / histograms. These can be a serious headache / great solution while looking for performance issues.

In my experience, which is limited, in a large production environment with many databases (and too little DBA&#039;s), an examination of the environment up to the level where you can set statistics manually is hardly possible. There is simply not enough time to analyze the database to this extend. Using the gather_table_stats with auto option on all columns is taking way too much time on a large environment, so you are stuck with hoping that gathering schema statistics on a daily (or weekly, depending on the amount of data entered) basis is enough. 

Sadly enough too many applications are developed without looking at any queries. Especially java developers using the lazy sql option of hibernate are killers, although Oracle&#039;s toplink can create some serious trouble too. These objects mappers are the future of queries though....</description>
		<content:encoded><![CDATA[<p>I love the examples, but the major things I miss is skewed data / histograms. These can be a serious headache / great solution while looking for performance issues.</p>
<p>In my experience, which is limited, in a large production environment with many databases (and too little DBA&#8217;s), an examination of the environment up to the level where you can set statistics manually is hardly possible. There is simply not enough time to analyze the database to this extend. Using the gather_table_stats with auto option on all columns is taking way too much time on a large environment, so you are stuck with hoping that gathering schema statistics on a daily (or weekly, depending on the amount of data entered) basis is enough. </p>
<p>Sadly enough too many applications are developed without looking at any queries. Especially java developers using the lazy sql option of hibernate are killers, although Oracle&#8217;s toplink can create some serious trouble too. These objects mappers are the future of queries though&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco Gralike</title>
		<link>http://technology.amis.nl/blog/1333/testing-knowledge-of-database-performance-is-this-a-good-execution-plan/comment-page-1#comment-114368</link>
		<dc:creator>Marco Gralike</dc:creator>
		<pubDate>Wed, 20 Sep 2006 22:06:57 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=1333#comment-114368</guid>
		<description>Tip. 

If you don&#039;t have the space to create real indexes (because your are testing on a proper sized test environment...) use virtual indexes:

Within (for example) sqlplus use:

-- Forcing the optimizer to use nosegment indexes / virtual indexes 
alter session set &quot;_use_nosegment_indexes&quot;=TRUE; 

create index orders_product_id_idx on orders(product_id)
NOSEGMENT
/</description>
		<content:encoded><![CDATA[<p>Tip. </p>
<p>If you don&#8217;t have the space to create real indexes (because your are testing on a proper sized test environment&#8230;) use virtual indexes:</p>
<p>Within (for example) sqlplus use:</p>
<p>&#8211; Forcing the optimizer to use nosegment indexes / virtual indexes<br />
alter session set &#8220;_use_nosegment_indexes&#8221;=TRUE; </p>
<p>create index orders_product_id_idx on orders(product_id)<br />
NOSEGMENT<br />
/</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco Gralike</title>
		<link>http://technology.amis.nl/blog/1333/testing-knowledge-of-database-performance-is-this-a-good-execution-plan/comment-page-1#comment-114358</link>
		<dc:creator>Marco Gralike</dc:creator>
		<pubDate>Wed, 20 Sep 2006 21:47:12 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=1333#comment-114358</guid>
		<description>Discussions and/or facts about COST can be found here: http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:40112614814595
 or in the latest readings of Jonathan Lewis</description>
		<content:encoded><![CDATA[<p>Discussions and/or facts about COST can be found here: <a href="http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:40112614814595" rel="nofollow">http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:40112614814595</a><br />
 or in the latest readings of Jonathan Lewis</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marco Gralike</title>
		<link>http://technology.amis.nl/blog/1333/testing-knowledge-of-database-performance-is-this-a-good-execution-plan/comment-page-1#comment-114355</link>
		<dc:creator>Marco Gralike</dc:creator>
		<pubDate>Wed, 20 Sep 2006 21:44:38 +0000</pubDate>
		<guid isPermaLink="false">http://technology.amis.nl/blog/?p=1333#comment-114355</guid>
		<description>One of the questions should also be: What database version are we dealing with?

Now, you will have to come up with new interview questions... :-) You gave away to much; anyway, I think understanding TKPROF should be elementary knowledge, dear Watson ;-)</description>
		<content:encoded><![CDATA[<p>One of the questions should also be: What database version are we dealing with?</p>
<p>Now, you will have to come up with new interview questions&#8230; <img src='http://technology.amis.nl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  You gave away to much; anyway, I think understanding TKPROF should be elementary knowledge, dear Watson <img src='http://technology.amis.nl/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

