<?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: Extended Stats</title>
	<atom:link href="http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/feed/" rel="self" type="application/rss+xml" />
	<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/</link>
	<description>Just another Oracle weblog</description>
	<lastBuildDate>Wed, 19 Jun 2013 22:21:35 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Usage Stats &#171; Oracle Scratchpad</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-53160</link>
		<dc:creator><![CDATA[Usage Stats &#171; Oracle Scratchpad]]></dc:creator>
		<pubDate>Thu, 24 Jan 2013 19:00:49 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-53160</guid>
		<description><![CDATA[[...] 11g introduced a feature known as &#8220;extended stats&#8221; which allows you to create stats on expressions and on column groups. Once you&#8217;ve created [...]]]></description>
		<content:encoded><![CDATA[<p>[...] 11g introduced a feature known as &#8220;extended stats&#8221; which allows you to create stats on expressions and on column groups. Once you&#8217;ve created [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-46979</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Thu, 07 Jun 2012 17:44:09 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-46979</guid>
		<description><![CDATA[orapsdba,

The first thing to look at is the meaning of &quot;num_distinct&quot; in the join selectivity formula. To understand what this is, you need to read the work on &quot;selection without replacement&quot; done by &lt;a href=&quot;http://www.adellera.it/investigations/index.html&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;&lt;strong&gt;Alberto Dell&#039;Era&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;.

Once you can calculate the correct selectivity for a single predicate, the selectivity for multiple predicates AND&#039;ed together on a single join is the product of the separate selectivities - but there are several special cases, including the multi-column sanity check, the index sanity check, a limit of 1/num_rows, the effects of histograms, and the effects of Oracle transforming your query through transitive closure: so you do need to check that you are applying the calculations to the right columns.

Depending on the version of Oracle there are also a couple of subtle bugs in the multi-column calculations that can make a (probably) small difference to the results.]]></description>
		<content:encoded><![CDATA[<p>orapsdba,</p>
<p>The first thing to look at is the meaning of &#8220;num_distinct&#8221; in the join selectivity formula. To understand what this is, you need to read the work on &#8220;selection without replacement&#8221; done by <a href="http://www.adellera.it/investigations/index.html" rel="nofollow"><em><strong>Alberto Dell&#8217;Era</strong></em></a>.</p>
<p>Once you can calculate the correct selectivity for a single predicate, the selectivity for multiple predicates AND&#8217;ed together on a single join is the product of the separate selectivities &#8211; but there are several special cases, including the multi-column sanity check, the index sanity check, a limit of 1/num_rows, the effects of histograms, and the effects of Oracle transforming your query through transitive closure: so you do need to check that you are applying the calculations to the right columns.</p>
<p>Depending on the version of Oracle there are also a couple of subtle bugs in the multi-column calculations that can make a (probably) small difference to the results.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: orapsdba</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-46894</link>
		<dc:creator><![CDATA[orapsdba]]></dc:creator>
		<pubDate>Tue, 05 Jun 2012 00:55:56 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-46894</guid>
		<description><![CDATA[Hi Jonathan,
Referring to your book CBO on page 269, &quot;Unfortunately there are problems that still need addressing—lots of them. Let’s try to find
a few questions about the limitations of the formulae.
• What are you supposed to do if you have two or more join columns?&quot;

I would like to know whether the standard join cardinality formula is applicable if I have more than one join columns?Could you please explain join cardinality for 3 or more join columns.

When i tried with the following SQL,I couldn&#039;t do it.

SQL&gt; @xplan
Plan hash value: 4119620020

-----------------------------------------------------------------------------------------------------------
&#124; Id &#124; Operation &#124; Name &#124; Rows &#124; Bytes &#124;TempSpc&#124; Cost (%CPU)&#124; Time &#124;
-----------------------------------------------------------------------------------------------------------
&#124; 0 &#124; SELECT STATEMENT &#124; &#124; 96199 &#124; 53M&#124; &#124; 114K (1)&#124; 00:08:48 &#124;
&#124;* 1 &#124; HASH JOIN &#124; &#124; 96199 &#124; 53M&#124; 4984K&#124; 114K (1)&#124; 00:08:48 &#124;
&#124;* 2 &#124; TABLE ACCESS BY INDEX ROWID&#124; PS_PC_RES_PA_TA121 &#124; 96199 &#124; 3851K&#124; &#124; 6517 (1)&#124; 00:00:31 &#124;
&#124;* 3 &#124; INDEX RANGE SCAN &#124; PSAPC_RES_PA_TA121 &#124; 299K&#124; &#124; &#124; 227 (1)&#124; 00:00:02 &#124;
&#124;* 4 &#124; TABLE ACCESS BY INDEX ROWID&#124; PS_PC_RES_PA_TA021 &#124; 785K&#124; 403M&#124; &#124; 72751 (1)&#124; 00:05:36 &#124;
&#124;* 5 &#124; INDEX RANGE SCAN &#124; PSAPC_RES_PA_TA021 &#124; 2902K&#124; &#124; &#124; 2308 (1)&#124; 00:00:11 &#124;
-----------------------------------------------------------------------------------------------------------

Predicate Information (identified by operation id):
---------------------------------------------------

1 - access(&quot;PR&quot;.&quot;BUSINESS_UNIT_PO&quot;=&quot;PRT&quot;.&quot;BUSINESS_UNIT_PO&quot; AND &quot;PR&quot;.&quot;PO_ID&quot;=&quot;PRT&quot;.&quot;PO_ID&quot; AND
&quot;PR&quot;.&quot;LINE_NBR&quot;=&quot;PRT&quot;.&quot;LINE_NBR&quot; AND &quot;PR&quot;.&quot;SCHED_NBR&quot;=&quot;PRT&quot;.&quot;SCHED_NBR&quot; AND
&quot;PR&quot;.&quot;DISTRIB_LINE_NUM&quot;=&quot;PRT&quot;.&quot;DISTRIB_LINE_NUM&quot; AND &quot;PR&quot;.&quot;DST_ACCT_TYPE&quot;=&quot;PRT&quot;.&quot;DST_ACCT_TYPE&quot;)
2 - filter(&quot;PRT&quot;.&quot;ANALYSIS_TYPE&quot;=&#039;CCR&#039; OR &quot;PRT&quot;.&quot;ANALYSIS_TYPE&quot;=&#039;CRV&#039;)
3 - access(&quot;PRT&quot;.&quot;PROCESS_INSTANCE&quot;=28022762)
4 - filter(&quot;PR&quot;.&quot;ANALYSIS_TYPE&quot;=&#039;CCR&#039; OR &quot;PR&quot;.&quot;ANALYSIS_TYPE&quot;=&#039;CRV&#039;)
5 - access(&quot;PR&quot;.&quot;PROCESS_INSTANCE&quot;=28022762)

Join Predicated &amp; NDVs

PR.BUSINESS_UNIT_PO = 219
PR.PO_ID = 308320
PR.LINE_NBR = 142
PR.SCHED_NBR = 24
PR.DISTRIB_LINE_NUM = 56
PR.DST_ACCT_TYPE = 3


PRT.BUSINESS_UNIT_PO = 177
PRT.PO_ID = 139136
PRT.LINE_NBR = 133
PRT.SCHED_NBR = 23
PRT.DISTRIB_LINE_NUM = 42
PRT.DST_ACCT_TYPE = 2

Filter Predicates &amp; NDVs

PRT.ANALYSIS_TYPE = 3
PR.ANALYSIS_TYPE = 5

Table row count

PS_PC_RES_PA_TA121 PRT Rows= 299160
PS_PC_RES_PA_TA021 PR Rows= 2902548

Thanks]]></description>
		<content:encoded><![CDATA[<p>Hi Jonathan,<br />
Referring to your book CBO on page 269, &#8220;Unfortunately there are problems that still need addressing—lots of them. Let’s try to find<br />
a few questions about the limitations of the formulae.<br />
• What are you supposed to do if you have two or more join columns?&#8221;</p>
<p>I would like to know whether the standard join cardinality formula is applicable if I have more than one join columns?Could you please explain join cardinality for 3 or more join columns.</p>
<p>When i tried with the following SQL,I couldn&#8217;t do it.</p>
<p>SQL&gt; @xplan<br />
Plan hash value: 4119620020</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
| Id | Operation | Name | Rows | Bytes |TempSpc| Cost (%CPU)| Time |<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
| 0 | SELECT STATEMENT | | 96199 | 53M| | 114K (1)| 00:08:48 |<br />
|* 1 | HASH JOIN | | 96199 | 53M| 4984K| 114K (1)| 00:08:48 |<br />
|* 2 | TABLE ACCESS BY INDEX ROWID| PS_PC_RES_PA_TA121 | 96199 | 3851K| | 6517 (1)| 00:00:31 |<br />
|* 3 | INDEX RANGE SCAN | PSAPC_RES_PA_TA121 | 299K| | | 227 (1)| 00:00:02 |<br />
|* 4 | TABLE ACCESS BY INDEX ROWID| PS_PC_RES_PA_TA021 | 785K| 403M| | 72751 (1)| 00:05:36 |<br />
|* 5 | INDEX RANGE SCAN | PSAPC_RES_PA_TA021 | 2902K| | | 2308 (1)| 00:00:11 |<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Predicate Information (identified by operation id):<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>1 &#8211; access(&#8220;PR&#8221;.&#8221;BUSINESS_UNIT_PO&#8221;=&#8221;PRT&#8221;.&#8221;BUSINESS_UNIT_PO&#8221; AND &#8220;PR&#8221;.&#8221;PO_ID&#8221;=&#8221;PRT&#8221;.&#8221;PO_ID&#8221; AND<br />
&#8220;PR&#8221;.&#8221;LINE_NBR&#8221;=&#8221;PRT&#8221;.&#8221;LINE_NBR&#8221; AND &#8220;PR&#8221;.&#8221;SCHED_NBR&#8221;=&#8221;PRT&#8221;.&#8221;SCHED_NBR&#8221; AND<br />
&#8220;PR&#8221;.&#8221;DISTRIB_LINE_NUM&#8221;=&#8221;PRT&#8221;.&#8221;DISTRIB_LINE_NUM&#8221; AND &#8220;PR&#8221;.&#8221;DST_ACCT_TYPE&#8221;=&#8221;PRT&#8221;.&#8221;DST_ACCT_TYPE&#8221;)<br />
2 &#8211; filter(&#8220;PRT&#8221;.&#8221;ANALYSIS_TYPE&#8221;=&#8217;CCR&#8217; OR &#8220;PRT&#8221;.&#8221;ANALYSIS_TYPE&#8221;=&#8217;CRV&#8217;)<br />
3 &#8211; access(&#8220;PRT&#8221;.&#8221;PROCESS_INSTANCE&#8221;=28022762)<br />
4 &#8211; filter(&#8220;PR&#8221;.&#8221;ANALYSIS_TYPE&#8221;=&#8217;CCR&#8217; OR &#8220;PR&#8221;.&#8221;ANALYSIS_TYPE&#8221;=&#8217;CRV&#8217;)<br />
5 &#8211; access(&#8220;PR&#8221;.&#8221;PROCESS_INSTANCE&#8221;=28022762)</p>
<p>Join Predicated &amp; NDVs</p>
<p>PR.BUSINESS_UNIT_PO = 219<br />
PR.PO_ID = 308320<br />
PR.LINE_NBR = 142<br />
PR.SCHED_NBR = 24<br />
PR.DISTRIB_LINE_NUM = 56<br />
PR.DST_ACCT_TYPE = 3</p>
<p>PRT.BUSINESS_UNIT_PO = 177<br />
PRT.PO_ID = 139136<br />
PRT.LINE_NBR = 133<br />
PRT.SCHED_NBR = 23<br />
PRT.DISTRIB_LINE_NUM = 42<br />
PRT.DST_ACCT_TYPE = 2</p>
<p>Filter Predicates &amp; NDVs</p>
<p>PRT.ANALYSIS_TYPE = 3<br />
PR.ANALYSIS_TYPE = 5</p>
<p>Table row count</p>
<p>PS_PC_RES_PA_TA121 PRT Rows= 299160<br />
PS_PC_RES_PA_TA021 PR Rows= 2902548</p>
<p>Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-46167</link>
		<dc:creator><![CDATA[Adrian]]></dc:creator>
		<pubDate>Tue, 24 Apr 2012 15:04:16 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-46167</guid>
		<description><![CDATA[The logical fallacy I was pointing to was the inference that an observed correlation has an immutable cause which is reliable enough for us to base our performance strategy on (or anything on for that matter). For example the correlation between house prices and time caused a certain amount of consternation recently for folks who should&#039;ve known better. On the other hand if we know for certain there is an actual correlation then my argument is that there are more efficient ways of helping out an optimiser than by having it collect stats, which will all know to be an expensive operation in a system of any size, simply to learn about exactly the relationship of which we are already aware.Anyway, thanks both for indulging me with replies. I get the feeling we&#039;re not going to agree.]]></description>
		<content:encoded><![CDATA[<p>The logical fallacy I was pointing to was the inference that an observed correlation has an immutable cause which is reliable enough for us to base our performance strategy on (or anything on for that matter). For example the correlation between house prices and time caused a certain amount of consternation recently for folks who should&#8217;ve known better. On the other hand if we know for certain there is an actual correlation then my argument is that there are more efficient ways of helping out an optimiser than by having it collect stats, which will all know to be an expensive operation in a system of any size, simply to learn about exactly the relationship of which we are already aware.Anyway, thanks both for indulging me with replies. I get the feeling we&#8217;re not going to agree.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Farnham</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-46157</link>
		<dc:creator><![CDATA[Mark Farnham]]></dc:creator>
		<pubDate>Mon, 23 Apr 2012 13:55:24 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-46157</guid>
		<description><![CDATA[And if correlations change, not because of a fundamental change in the business that should be remodeled, but simply because of a change in actual operations, that is exactly why capturing the information about the correlations as a fact of statistics is a good thing. As metadata, if it becomes no longer useful it can simply go away, and as with all statistics if they become stale or misleading they can be fixed.]]></description>
		<content:encoded><![CDATA[<p>And if correlations change, not because of a fundamental change in the business that should be remodeled, but simply because of a change in actual operations, that is exactly why capturing the information about the correlations as a fact of statistics is a good thing. As metadata, if it becomes no longer useful it can simply go away, and as with all statistics if they become stale or misleading they can be fixed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-46156</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Mon, 23 Apr 2012 13:47:51 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-46156</guid>
		<description><![CDATA[Adrian,
Your earlier objection was that:
&lt;em&gt;&lt;blockquote&gt;&quot;Where there is correlation between columns, probably indicates some inadequately modelled functional dependency that possibly should have been normalised.&quot;&lt;/blockquote&gt;&lt;/em&gt;

Now that I&#039;ve pointed out that it is perfectly feasible to find correlation between measurements that have a common cause (which isn&#039;t a logical fallacy, by the way), your argument is that  the business definition may change. But if you change the business definition then you should go back and review the data model - and that&#039;s where any information about the impact on the previously recognised correlation would be re-considered.]]></description>
		<content:encoded><![CDATA[<p>Adrian,<br />
Your earlier objection was that:<br />
<em><br />
<blockquote>&#8220;Where there is correlation between columns, probably indicates some inadequately modelled functional dependency that possibly should have been normalised.&#8221;</p></blockquote>
<p></em></p>
<p>Now that I&#8217;ve pointed out that it is perfectly feasible to find correlation between measurements that have a common cause (which isn&#8217;t a logical fallacy, by the way), your argument is that  the business definition may change. But if you change the business definition then you should go back and review the data model &#8211; and that&#8217;s where any information about the impact on the previously recognised correlation would be re-considered.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-46155</link>
		<dc:creator><![CDATA[Adrian]]></dc:creator>
		<pubDate>Mon, 23 Apr 2012 10:12:27 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-46155</guid>
		<description><![CDATA[&quot;In general, though, I think you are mixing correlation and causation a little in your assessment: two columns can be correlated because they are dependent on the same key; consider, for example, a delivery service that records a pick-up date and a delivery date against each parcel.&quot;

Sure. But surely relying on a correlation rather than causation is problematic? Isn&#039;t creating stats to represent a non causative relationship spectacularly falling prey to a logical fallacy? What if some absent, countervailing variable changes? such as &quot;time&quot; no longer necessarily advancing because the company starts delivering across time zones but continues to use the system that records only local delivery times without a timezone? or starts storing goods for long dated future deliveries? or hands off parts of the logistics to a third party and have large number of completed deliveries with no recorded delivery time? or an artificial relationship caused by ascending keys is suddenly invalidated by a sequence wrap?

Would it not be better to enable query efficiency by modelling and constraining known relationships rigorously and encouraging the optimiser to take advantage of defined constraints? For example: a priority parcel delivery has an SLA of two working days. If we&#039;re querying for unsuccessful priority deliveries we instantly know something about the relationship of the dates that would be more expensive and complicated to capture automatically by correlation,  and when the SLA changes I know which set of assumptions is quicker to recalculate. If we know enough about a data relationship to create a column group over it, perhaps it&#039;s better to let us apply the knowledge we have rather than have the optimiser need to recalculate it for us (via expensive disk reads).]]></description>
		<content:encoded><![CDATA[<p>&#8220;In general, though, I think you are mixing correlation and causation a little in your assessment: two columns can be correlated because they are dependent on the same key; consider, for example, a delivery service that records a pick-up date and a delivery date against each parcel.&#8221;</p>
<p>Sure. But surely relying on a correlation rather than causation is problematic? Isn&#8217;t creating stats to represent a non causative relationship spectacularly falling prey to a logical fallacy? What if some absent, countervailing variable changes? such as &#8220;time&#8221; no longer necessarily advancing because the company starts delivering across time zones but continues to use the system that records only local delivery times without a timezone? or starts storing goods for long dated future deliveries? or hands off parts of the logistics to a third party and have large number of completed deliveries with no recorded delivery time? or an artificial relationship caused by ascending keys is suddenly invalidated by a sequence wrap?</p>
<p>Would it not be better to enable query efficiency by modelling and constraining known relationships rigorously and encouraging the optimiser to take advantage of defined constraints? For example: a priority parcel delivery has an SLA of two working days. If we&#8217;re querying for unsuccessful priority deliveries we instantly know something about the relationship of the dates that would be more expensive and complicated to capture automatically by correlation,  and when the SLA changes I know which set of assumptions is quicker to recalculate. If we know enough about a data relationship to create a column group over it, perhaps it&#8217;s better to let us apply the knowledge we have rather than have the optimiser need to recalculate it for us (via expensive disk reads).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Lewis</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-46104</link>
		<dc:creator><![CDATA[Jonathan Lewis]]></dc:creator>
		<pubDate>Sun, 15 Apr 2012 18:21:53 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-46104</guid>
		<description><![CDATA[Adrian,

The code I used to generate the data was simply a mechanism to ensure that I had two columns where the product of selectivities was not the selectivity of the combination, so I wouldn&#039;t worry too much about arguing whether that specific model was right or wrong. 

In general, though, I think you are mixing correlation and causation a little in your assessment: two columns can be correlated because they are dependent on the same key; consider, for example, a delivery service that records a pick-up date and a delivery date against each parcel.]]></description>
		<content:encoded><![CDATA[<p>Adrian,</p>
<p>The code I used to generate the data was simply a mechanism to ensure that I had two columns where the product of selectivities was not the selectivity of the combination, so I wouldn&#8217;t worry too much about arguing whether that specific model was right or wrong. </p>
<p>In general, though, I think you are mixing correlation and causation a little in your assessment: two columns can be correlated because they are dependent on the same key; consider, for example, a delivery service that records a pick-up date and a delivery date against each parcel.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Log Buffer #267, A Carnival of the Vanities for DBAs &#124; The Pythian Blog</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-46073</link>
		<dc:creator><![CDATA[Log Buffer #267, A Carnival of the Vanities for DBAs &#124; The Pythian Blog]]></dc:creator>
		<pubDate>Sat, 14 Apr 2012 00:19:34 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-46073</guid>
		<description><![CDATA[[...] Jonathan Lewis just discovered a critical weakness in one of the implementation details of 11g extended stats that could lead to some surprising instability in execution plans. [...]]]></description>
		<content:encoded><![CDATA[<p>[...] Jonathan Lewis just discovered a critical weakness in one of the implementation details of 11g extended stats that could lead to some surprising instability in execution plans. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian</title>
		<link>http://jonathanlewis.wordpress.com/2012/04/11/extended-stats/#comment-46066</link>
		<dc:creator><![CDATA[Adrian]]></dc:creator>
		<pubDate>Fri, 13 Apr 2012 15:44:17 +0000</pubDate>
		<guid isPermaLink="false">http://jonathanlewis.wordpress.com/?p=8787#comment-46066</guid>
		<description><![CDATA[Maybe. Perhaps I&#039;d only have to win the debate that there are not sufficient cases in a sensibly modelled situation to warrant development effort having been spent &quot;solving&quot; the &quot;problem&quot; rather than, say fixing some more of the bugs in existing functionality ;). Especially if the feature was going to deliberately not work (as indicated) in what may turn out to be the most common realisation of this scenario.
Possibly I shouldn&#039;t have posted this observation here because it&#039;s tangential to the point being made anyway.
I am intrigued at the idea of correlations that shouldn&#039;t be modelled though, surely all non key attributes should be dependent only on the key rather than each other, so aside from components in a composite identifier or the rareish cases where there are multiple candidates for a key, that just leaves design errors.]]></description>
		<content:encoded><![CDATA[<p>Maybe. Perhaps I&#8217;d only have to win the debate that there are not sufficient cases in a sensibly modelled situation to warrant development effort having been spent &#8220;solving&#8221; the &#8220;problem&#8221; rather than, say fixing some more of the bugs in existing functionality ;). Especially if the feature was going to deliberately not work (as indicated) in what may turn out to be the most common realisation of this scenario.<br />
Possibly I shouldn&#8217;t have posted this observation here because it&#8217;s tangential to the point being made anyway.<br />
I am intrigued at the idea of correlations that shouldn&#8217;t be modelled though, surely all non key attributes should be dependent only on the key rather than each other, so aside from components in a composite identifier or the rareish cases where there are multiple candidates for a key, that just leaves design errors.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
