<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.6.5" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Can &#8220;between&#8221; and &#8220;&gt;= and </title>
	<link>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ</link>
	<description>News and views from Pythian DBAs</description>
	<pubDate>Fri,  5 Dec 2008 00:22:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: Alex Fatkulin</title>
		<link>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-67660</link>
		<dc:creator>Alex Fatkulin</dc:creator>
		<pubDate>Mon, 25 Jun 2007 13:50:04 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-67660</guid>
		<description>Mr. Ed,

the plans are different and so are the runtime stats.

If you still in doubt I can email you a trace (10.2.0.3). Or you can get your hands on 10.2.0.3 and see for yourself.</description>
		<content:encoded><![CDATA[<p>Mr. Ed,</p>
<p>the plans are different and so are the runtime stats.</p>
<p>If you still in doubt I can email you a trace (10.2.0.3). Or you can get your hands on 10.2.0.3 and see for yourself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mr. Ed</title>
		<link>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-67365</link>
		<dc:creator>Mr. Ed</dc:creator>
		<pubDate>Mon, 25 Jun 2007 01:56:17 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-67365</guid>
		<description>Hmmm.  So where did the filter predicates go, and where did it get values for "n" in the second plan? 

What I'm getting at is that I think the plans are still the same, but something else is going on here.</description>
		<content:encoded><![CDATA[<p>Hmmm.  So where did the filter predicates go, and where did it get values for &#8220;n&#8221; in the second plan? </p>
<p>What I&#8217;m getting at is that I think the plans are still the same, but something else is going on here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alex Fatkulin</title>
		<link>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-67329</link>
		<dc:creator>Alex Fatkulin</dc:creator>
		<pubDate>Mon, 25 Jun 2007 01:07:04 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-67329</guid>
		<description>Mr. Ed,

I didn't modified anything except for cutting up the right side of the plan in order to make it fit nicely. I didn't get any filter predicates reported for that example on 10.2.0.3 autotrace.

I didn't specify how I get this plan since you can look at v$sql_plan, 10053 trace, explain plan, autotrace and tkprof - everything will be the same. 10G enables CPU costing by default.

I'm too getting the same plans on 10.2.0.1. That's why I explicitly stated the version. And yes - there is filter predicates reported on 10.2.0.1 (but not on 10.2.0.3).

thanks for comment.</description>
		<content:encoded><![CDATA[<p>Mr. Ed,</p>
<p>I didn&#8217;t modified anything except for cutting up the right side of the plan in order to make it fit nicely. I didn&#8217;t get any filter predicates reported for that example on 10.2.0.3 autotrace.</p>
<p>I didn&#8217;t specify how I get this plan since you can look at v$sql_plan, 10053 trace, explain plan, autotrace and tkprof - everything will be the same. 10G enables CPU costing by default.</p>
<p>I&#8217;m too getting the same plans on 10.2.0.1. That&#8217;s why I explicitly stated the version. And yes - there is filter predicates reported on 10.2.0.1 (but not on 10.2.0.3).</p>
<p>thanks for comment.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mr. Ed</title>
		<link>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-66497</link>
		<dc:creator>Mr. Ed</dc:creator>
		<pubDate>Sat, 23 Jun 2007 07:28:37 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-66497</guid>
		<description>First off, you make it a little hard to verify this example.  You've modified the plan output, since there is no "*" indicator for the predicate in the plan.  Since you've cut off columns in the plan (and the end of it), we don't know if you have cpu_costing enabled or disabled.  Considering the other modifications, we don't know for sure if you used autotrace (probably) or "explain plan", or v$sql_plan for that matter, to get the plan.

Second, if the second plan never touches the table, how does it magically find the values of "n"?

On my tests on 10.2.0.1 and 9.2.0.5, I get the same plans.</description>
		<content:encoded><![CDATA[<p>First off, you make it a little hard to verify this example.  You&#8217;ve modified the plan output, since there is no &#8220;*&#8221; indicator for the predicate in the plan.  Since you&#8217;ve cut off columns in the plan (and the end of it), we don&#8217;t know if you have cpu_costing enabled or disabled.  Considering the other modifications, we don&#8217;t know for sure if you used autotrace (probably) or &#8220;explain plan&#8221;, or v$sql_plan for that matter, to get the plan.</p>
<p>Second, if the second plan never touches the table, how does it magically find the values of &#8220;n&#8221;?</p>
<p>On my tests on 10.2.0.1 and 9.2.0.5, I get the same plans.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Barfo Rama</title>
		<link>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-66378</link>
		<dc:creator>Barfo Rama</dc:creator>
		<pubDate>Fri, 22 Jun 2007 22:37:59 +0000</pubDate>
		<guid>http://www.pythian.com/blogs/529/oracle-can-between-and-greater-than-or-equal-to-and-less-than-or-equal-to-differ#comment-66378</guid>
		<description>Range partitioning was introduced in Oracle8
List partitioning was Oracle 9i.
Range uses less than syntax.
Between uses less than or equal syntax.
An optimizer might watch for a different code path for equal or less than versus less than on a numeric index, right?
Could it be just a leftover bit of code that no one has complained about until now?  That _is_ how the code evolves, right?
No way to know, scientifically.

But it's always nice to see a hole in the docs exposed!  Great catch!</description>
		<content:encoded><![CDATA[<p>Range partitioning was introduced in Oracle8<br />
List partitioning was Oracle 9i.<br />
Range uses less than syntax.<br />
Between uses less than or equal syntax.<br />
An optimizer might watch for a different code path for equal or less than versus less than on a numeric index, right?<br />
Could it be just a leftover bit of code that no one has complained about until now?  That _is_ how the code evolves, right?<br />
No way to know, scientifically.</p>
<p>But it&#8217;s always nice to see a hole in the docs exposed!  Great catch!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
