<?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: Getting Help</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2010/06/30/getting-help/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2010/06/30/getting-help/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Wed, 22 May 2013 12:40:08 +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/2010/06/30/getting-help/#comment-36673</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sat, 03 Jul 2010 07:43:57 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3919#comment-36673</guid>
		<description><![CDATA[Following up Flado&#039;s comments:
i)  A good consultant should be able to work out how to fix at least a couple of &quot;demonic&quot; statements in a day, and explain to you (and a small group of DBAs) at the same time how to repeat the exercise on your own - so it would be money well spent.

ii) For a good paper on the basic steps to take, there&#039;s the &lt;a href=&quot;http://www.simple-talk.com/sql/performance/designing-efficient-sql-a-visual-approach/&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;&lt;strong&gt;paper I published at SimpleTalk&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;, and the webinar I gave for &lt;a href=&quot;http://jonathanlewis.wordpress.com/2010/05/26/visual-tuning/&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;&lt;strong&gt;Embarcadero&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.]]></description>
		<content:encoded><![CDATA[<p>Following up Flado&#8217;s comments:<br />
i)  A good consultant should be able to work out how to fix at least a couple of &#8220;demonic&#8221; statements in a day, and explain to you (and a small group of DBAs) at the same time how to repeat the exercise on your own &#8211; so it would be money well spent.</p>
<p>ii) For a good paper on the basic steps to take, there&#8217;s the <a href="http://www.simple-talk.com/sql/performance/designing-efficient-sql-a-visual-approach/" rel="nofollow"><em><strong>paper I published at SimpleTalk</strong></em></a>, and the webinar I gave for <a href="http://jonathanlewis.wordpress.com/2010/05/26/visual-tuning/" rel="nofollow"><em><strong>Embarcadero</strong></em></a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Flado</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/30/getting-help/#comment-36667</link>
		<dc:creator><![CDATA[Flado]]></dc:creator>
		<pubDate>Fri, 02 Jul 2010 11:20:42 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3919#comment-36667</guid>
		<description><![CDATA[&quot;I am rather paralyzed by just the complexity of the demonic query and large number tables and view involved&quot;

OK, I&#039;ll say it, if no-one else will:
At this point you could call in a consultant: no need to anonymize anything.
Or, you can learn Jonathan&#039;s &quot;visual tuning approach&quot; - it helps a lot with complex queries - and help yourself.

Cheers!]]></description>
		<content:encoded><![CDATA[<p>&#8220;I am rather paralyzed by just the complexity of the demonic query and large number tables and view involved&#8221;</p>
<p>OK, I&#8217;ll say it, if no-one else will:<br />
At this point you could call in a consultant: no need to anonymize anything.<br />
Or, you can learn Jonathan&#8217;s &#8220;visual tuning approach&#8221; &#8211; it helps a lot with complex queries &#8211; and help yourself.</p>
<p>Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/30/getting-help/#comment-36665</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Fri, 02 Jul 2010 10:33:35 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3919#comment-36665</guid>
		<description><![CDATA[Nirav,

Two points about your question: 
a) If you have a 7 table join unioned to a four table join where one of the tables is a view then you have two simpler queries to worry about and the performance problem may be in just one of them, both of them, or neither of them. If it&#039;s in neither of them then the performance problem is in the volume of data they produce and the need to sort it for a UNION. So &quot;the problem&quot; can obviously be simplified and handled in parts.

b) Text editors allow you to do global find and replace. Create a text file with the query, the execution plan,  the DDL that creates the view, and the DDL to create the indexes on all the tables. Then change the names of all the tables, indexes and columns that you think are &quot;business related confidential&quot;.  

Hint: if you have a table called &quot;ORDERS&quot; it&#039;s probably safe to leave it unchanged; if you have a table called (e.g.) &quot;BOEING_ORDERS&quot; then a generic name like &quot;ORDERS&quot; is probably a good idea. Generic names are better than simple TAB1, COL1 - since meaning in names can be very helpful in identifying problems.]]></description>
		<content:encoded><![CDATA[<p>Nirav,</p>
<p>Two points about your question:<br />
a) If you have a 7 table join unioned to a four table join where one of the tables is a view then you have two simpler queries to worry about and the performance problem may be in just one of them, both of them, or neither of them. If it&#8217;s in neither of them then the performance problem is in the volume of data they produce and the need to sort it for a UNION. So &#8220;the problem&#8221; can obviously be simplified and handled in parts.</p>
<p>b) Text editors allow you to do global find and replace. Create a text file with the query, the execution plan,  the DDL that creates the view, and the DDL to create the indexes on all the tables. Then change the names of all the tables, indexes and columns that you think are &#8220;business related confidential&#8221;.  </p>
<p>Hint: if you have a table called &#8220;ORDERS&#8221; it&#8217;s probably safe to leave it unchanged; if you have a table called (e.g.) &#8220;BOEING_ORDERS&#8221; then a generic name like &#8220;ORDERS&#8221; is probably a good idea. Generic names are better than simple TAB1, COL1 &#8211; since meaning in names can be very helpful in identifying problems.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nirav</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/30/getting-help/#comment-36663</link>
		<dc:creator><![CDATA[Nirav]]></dc:creator>
		<pubDate>Thu, 01 Jul 2010 23:07:04 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3919#comment-36663</guid>
		<description><![CDATA[Thanks Joel...so in that case assuming that we have a complex issue of say 8 table join with millions of rows of data in them and views and histograms and you want to seek help, than how to go about? Should I just rename those tables as tab1, tab2...tab8 and columns as col1,col2 etc and view1,view2 and load data in it using select * from dba_objects where rownum&lt;1000000 etc and assume that my &#039;testcase&#039; is good? I mean at least is this a starting point? honestly I am facing this issue right now and I haven&#039;t posted a single thing to any forum  as I am rather paralyzed by just the complexity of the demonic query and large number tables and view involved.]]></description>
		<content:encoded><![CDATA[<p>Thanks Joel&#8230;so in that case assuming that we have a complex issue of say 8 table join with millions of rows of data in them and views and histograms and you want to seek help, than how to go about? Should I just rename those tables as tab1, tab2&#8230;tab8 and columns as col1,col2 etc and view1,view2 and load data in it using select * from dba_objects where rownum&lt;1000000 etc and assume that my &#039;testcase&#039; is good? I mean at least is this a starting point? honestly I am facing this issue right now and I haven&#039;t posted a single thing to any forum  as I am rather paralyzed by just the complexity of the demonic query and large number tables and view involved.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joel garry</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/30/getting-help/#comment-36655</link>
		<dc:creator><![CDATA[joel garry]]></dc:creator>
		<pubDate>Thu, 01 Jul 2010 18:34:04 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3919#comment-36655</guid>
		<description><![CDATA[++ to Mark&#039;s comment.  All these fora have a mix of experience levels, it is necessary to guide the newbies in the right direction.  Sometimes they simply need to be told, other times they need a deeper understanding of how to interact.  The latter can be fairly intractable, will always happen, and may worsen as technological mores evolve.  MOS especially needs to remember that it is their job to determine where their customer is coming from.

Re Nirav&#039;s comment, it&#039;s true, modeling a complex problem can be a lot of work.  Sometimes they reduce to something that can be emulated with select * from all_objects or a simple data generation scheme, sometimes they can&#039;t.  When they can&#039;t, it probably is not something for a general forum, except perhaps when it is solved and just the description is given (but therein lies the potential for myths).  The various tools and methodologies available give clues as to which way to go when simplifying.

In the past you could often write data scrambling routines for your large data sets, but when dealing with data distribution aware optimizer problems on top of all the other possible problems... I dunno.]]></description>
		<content:encoded><![CDATA[<p>++ to Mark&#8217;s comment.  All these fora have a mix of experience levels, it is necessary to guide the newbies in the right direction.  Sometimes they simply need to be told, other times they need a deeper understanding of how to interact.  The latter can be fairly intractable, will always happen, and may worsen as technological mores evolve.  MOS especially needs to remember that it is their job to determine where their customer is coming from.</p>
<p>Re Nirav&#8217;s comment, it&#8217;s true, modeling a complex problem can be a lot of work.  Sometimes they reduce to something that can be emulated with select * from all_objects or a simple data generation scheme, sometimes they can&#8217;t.  When they can&#8217;t, it probably is not something for a general forum, except perhaps when it is solved and just the description is given (but therein lies the potential for myths).  The various tools and methodologies available give clues as to which way to go when simplifying.</p>
<p>In the past you could often write data scrambling routines for your large data sets, but when dealing with data distribution aware optimizer problems on top of all the other possible problems&#8230; I dunno.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nirav</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/30/getting-help/#comment-36651</link>
		<dc:creator><![CDATA[Nirav]]></dc:creator>
		<pubDate>Thu, 01 Jul 2010 08:21:54 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3919#comment-36651</guid>
		<description><![CDATA[Thanks Taral but what baffles me is that there are just millions of rows in the real life scenario, 8 tables having union with all these tonnes of data - I don&#039;t know how I can match the data characteristics of actual scenario in the test case (data skewness etc)? How the test case can be a truly representative one...that is the issue for me.

Regards,]]></description>
		<content:encoded><![CDATA[<p>Thanks Taral but what baffles me is that there are just millions of rows in the real life scenario, 8 tables having union with all these tonnes of data &#8211; I don&#8217;t know how I can match the data characteristics of actual scenario in the test case (data skewness etc)? How the test case can be a truly representative one&#8230;that is the issue for me.</p>
<p>Regards,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark W. Farnham</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/30/getting-help/#comment-36639</link>
		<dc:creator><![CDATA[Mark W. Farnham]]></dc:creator>
		<pubDate>Wed, 30 Jun 2010 22:05:04 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3919#comment-36639</guid>
		<description><![CDATA[Posting questions as described will enhance the chances of getting a useful answer. But even better, it seems likely that following the structured process of assembling the information for the community will often result in making the answer obvious. And when a mystery remains, it seems likely indeed that the community will need the full details clearly stated to help. Jonathan, Randolf, and Rob: Well done!]]></description>
		<content:encoded><![CDATA[<p>Posting questions as described will enhance the chances of getting a useful answer. But even better, it seems likely that following the structured process of assembling the information for the community will often result in making the answer obvious. And when a mystery remains, it seems likely indeed that the community will need the full details clearly stated to help. Jonathan, Randolf, and Rob: Well done!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Taral</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/30/getting-help/#comment-36635</link>
		<dc:creator><![CDATA[Taral]]></dc:creator>
		<pubDate>Wed, 30 Jun 2010 19:15:43 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3919#comment-36635</guid>
		<description><![CDATA[Well you can create tables with different name and different columns names. So that security is not violated also you can copy stats to that newly created tables so that you will get exact same plan and you can insert sample data and can try.]]></description>
		<content:encoded><![CDATA[<p>Well you can create tables with different name and different columns names. So that security is not violated also you can copy stats to that newly created tables so that you will get exact same plan and you can insert sample data and can try.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nirav</title>
		<link>http://jonathanlewis.wordpress.com/2010/06/30/getting-help/#comment-36634</link>
		<dc:creator><![CDATA[Nirav]]></dc:creator>
		<pubDate>Wed, 30 Jun 2010 18:46:14 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=3919#comment-36634</guid>
		<description><![CDATA[Jonathan,

I am tired working on a query tuning just now and than I read your post...I think a big issue for me has been that how do I communicate to a forum a test case that doesn&#039;t involve the actual business related confidential table names , column names and other information and still provide a test case that has all the 7 or 8 table join query that is not doing well. I have a demon of a query with a 7 table join unioned to a four table join one of which is a view and my attempts to tame it haven&#039;t yielded much and I can&#039;t think of how to post an &#039;innocent&#039; test case for it!

Thanks,]]></description>
		<content:encoded><![CDATA[<p>Jonathan,</p>
<p>I am tired working on a query tuning just now and than I read your post&#8230;I think a big issue for me has been that how do I communicate to a forum a test case that doesn&#8217;t involve the actual business related confidential table names , column names and other information and still provide a test case that has all the 7 or 8 table join query that is not doing well. I have a demon of a query with a 7 table join unioned to a four table join one of which is a view and my attempts to tame it haven&#8217;t yielded much and I can&#8217;t think of how to post an &#8216;innocent&#8217; test case for it!</p>
<p>Thanks,</p>
]]></content:encoded>
	</item>
</channel>
</rss>
