Author: pd221994
Date: 2011-06-27 17:34:36 +0200 (Mon, 27 Jun 2011)
New Revision: 26621
Log:
r49351@dhcp-adc-twvpn-1-vpnpool-10-154-4-24: paul | 2011-06-27 10:00:31 -0500
Fix docs bug:
- BUG 12659075 - RANGE ACCESS METHOD DOES NOT MAKE USE OF ALL AVAILABLE KEYPARTS
Modified:
svk:merge
trunk/refman-5.0/optimization.xml
trunk/refman-5.1/optimization.xml
trunk/refman-5.5/optimization.xml
trunk/refman-5.6/optimization.xml
trunk/refman-6.0/optimization.xml
Property changes on: trunk
___________________________________________________________________
Modified: svk:merge
===================================================================
Changed blocks: 0, Lines Added: 0, Lines Deleted: 0; 1277 bytes
Modified: trunk/refman-5.0/optimization.xml
===================================================================
--- trunk/refman-5.0/optimization.xml 2011-06-27 13:30:13 UTC (rev 26620)
+++ trunk/refman-5.0/optimization.xml 2011-06-27 15:34:36 UTC (rev 26621)
Changed blocks: 2, Lines Added: 28, Lines Deleted: 2; 2710 bytes
@@ -2823,9 +2823,35 @@
two intervals if
<literal role="op" condition="not-equal"><></literal>
or <literal role="op" condition="not-equal">!=</literal>
- is used). For example, for this condition:
+ is used).
</para>
+ <para>
+ The optimizer attempts to use additional key parts to
+ determine the interval as long as the comparison
+ operator is
+ <literal role="op" condition="equal">=</literal>,
+ <literal role="op" condition="equal-to"><=></literal>,
+ or <literal role="op">IS NULL</literal>. If the operator
+ is
+ <literal role="op" condition="greater-than">></literal>,
+ <literal role="op" condition="less-than"><</literal>,
+ <literal role="op" condition="greater-than-or-equal">>=</literal>,
+ <literal role="op" condition="less-than-or-equal"><=</literal>,
+ <literal role="op" condition="not-equal">!=</literal>,
+ <literal role="op" condition="not-equal"><></literal>,
+ <literal role="op">BETWEEN</literal>, or
+ <literal role="op" condition="like">LIKE</literal>, the
+ optimizer uses it but considers no more key parts. For
+ the following expression, the optimizer uses
+ <literal role="op" condition="equal">=</literal> from
+ the first comparison. It also uses
+ <literal role="op" condition="greater-than-or-equal">>=</literal>
+ from the second comparison but considers no further key
+ parts and does not use the third comparison for interval
+ construction:
+ </para>
+
<programlisting>
<replaceable>key_part1</replaceable> = 'foo' AND <replaceable>key_part2</replaceable> >= 10 AND <replaceable>key_part3</replaceable> > 10
</programlisting>
@@ -2835,7 +2861,7 @@
</para>
<programlisting>
-('foo',10,10) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
+('foo',10,-inf) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
</programlisting>
<para>
Modified: trunk/refman-5.1/optimization.xml
===================================================================
--- trunk/refman-5.1/optimization.xml 2011-06-27 13:30:13 UTC (rev 26620)
+++ trunk/refman-5.1/optimization.xml 2011-06-27 15:34:36 UTC (rev 26621)
Changed blocks: 2, Lines Added: 28, Lines Deleted: 2; 2710 bytes
@@ -3019,9 +3019,35 @@
two intervals if
<literal role="op" condition="not-equal"><></literal>
or <literal role="op" condition="not-equal">!=</literal>
- is used). For example, for this condition:
+ is used).
</para>
+ <para>
+ The optimizer attempts to use additional key parts to
+ determine the interval as long as the comparison
+ operator is
+ <literal role="op" condition="equal">=</literal>,
+ <literal role="op" condition="equal-to"><=></literal>,
+ or <literal role="op">IS NULL</literal>. If the operator
+ is
+ <literal role="op" condition="greater-than">></literal>,
+ <literal role="op" condition="less-than"><</literal>,
+ <literal role="op" condition="greater-than-or-equal">>=</literal>,
+ <literal role="op" condition="less-than-or-equal"><=</literal>,
+ <literal role="op" condition="not-equal">!=</literal>,
+ <literal role="op" condition="not-equal"><></literal>,
+ <literal role="op">BETWEEN</literal>, or
+ <literal role="op" condition="like">LIKE</literal>, the
+ optimizer uses it but considers no more key parts. For
+ the following expression, the optimizer uses
+ <literal role="op" condition="equal">=</literal> from
+ the first comparison. It also uses
+ <literal role="op" condition="greater-than-or-equal">>=</literal>
+ from the second comparison but considers no further key
+ parts and does not use the third comparison for interval
+ construction:
+ </para>
+
<programlisting>
<replaceable>key_part1</replaceable> = 'foo' AND <replaceable>key_part2</replaceable> >= 10 AND <replaceable>key_part3</replaceable> > 10
</programlisting>
@@ -3031,7 +3057,7 @@
</para>
<programlisting>
-('foo',10,10) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
+('foo',10,-inf) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
</programlisting>
<para>
Modified: trunk/refman-5.5/optimization.xml
===================================================================
--- trunk/refman-5.5/optimization.xml 2011-06-27 13:30:13 UTC (rev 26620)
+++ trunk/refman-5.5/optimization.xml 2011-06-27 15:34:36 UTC (rev 26621)
Changed blocks: 2, Lines Added: 27, Lines Deleted: 2; 2630 bytes
@@ -17064,9 +17064,34 @@
intervals if
<literal role="op" condition="not-equal"><></literal>
or <literal role="op" condition="not-equal">!=</literal>
- is used). For example, for this condition:
+ is used).
</para>
+ <para>
+ The optimizer attempts to use additional key parts to
+ determine the interval as long as the comparison operator
+ is <literal role="op" condition="equal">=</literal>,
+ <literal role="op" condition="equal-to"><=></literal>,
+ or <literal role="op">IS NULL</literal>. If the operator
+ is
+ <literal role="op" condition="greater-than">></literal>,
+ <literal role="op" condition="less-than"><</literal>,
+ <literal role="op" condition="greater-than-or-equal">>=</literal>,
+ <literal role="op" condition="less-than-or-equal"><=</literal>,
+ <literal role="op" condition="not-equal">!=</literal>,
+ <literal role="op" condition="not-equal"><></literal>,
+ <literal role="op">BETWEEN</literal>, or
+ <literal role="op" condition="like">LIKE</literal>, the
+ optimizer uses it but considers no more key parts. For the
+ following expression, the optimizer uses
+ <literal role="op" condition="equal">=</literal> from the
+ first comparison. It also uses
+ <literal role="op" condition="greater-than-or-equal">>=</literal>
+ from the second comparison but considers no further key
+ parts and does not use the third comparison for interval
+ construction:
+ </para>
+
<programlisting>
<replaceable>key_part1</replaceable> = 'foo' AND <replaceable>key_part2</replaceable> >= 10 AND <replaceable>key_part3</replaceable> > 10
</programlisting>
@@ -17076,7 +17101,7 @@
</para>
<programlisting>
-('foo',10,10) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
+('foo',10,-inf) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
</programlisting>
<para>
Modified: trunk/refman-5.6/optimization.xml
===================================================================
--- trunk/refman-5.6/optimization.xml 2011-06-27 13:30:13 UTC (rev 26620)
+++ trunk/refman-5.6/optimization.xml 2011-06-27 15:34:36 UTC (rev 26621)
Changed blocks: 2, Lines Added: 27, Lines Deleted: 2; 2630 bytes
@@ -17180,9 +17180,34 @@
intervals if
<literal role="op" condition="not-equal"><></literal>
or <literal role="op" condition="not-equal">!=</literal>
- is used). For example, for this condition:
+ is used).
</para>
+ <para>
+ The optimizer attempts to use additional key parts to
+ determine the interval as long as the comparison operator
+ is <literal role="op" condition="equal">=</literal>,
+ <literal role="op" condition="equal-to"><=></literal>,
+ or <literal role="op">IS NULL</literal>. If the operator
+ is
+ <literal role="op" condition="greater-than">></literal>,
+ <literal role="op" condition="less-than"><</literal>,
+ <literal role="op" condition="greater-than-or-equal">>=</literal>,
+ <literal role="op" condition="less-than-or-equal"><=</literal>,
+ <literal role="op" condition="not-equal">!=</literal>,
+ <literal role="op" condition="not-equal"><></literal>,
+ <literal role="op">BETWEEN</literal>, or
+ <literal role="op" condition="like">LIKE</literal>, the
+ optimizer uses it but considers no more key parts. For the
+ following expression, the optimizer uses
+ <literal role="op" condition="equal">=</literal> from the
+ first comparison. It also uses
+ <literal role="op" condition="greater-than-or-equal">>=</literal>
+ from the second comparison but considers no further key
+ parts and does not use the third comparison for interval
+ construction:
+ </para>
+
<programlisting>
<replaceable>key_part1</replaceable> = 'foo' AND <replaceable>key_part2</replaceable> >= 10 AND <replaceable>key_part3</replaceable> > 10
</programlisting>
@@ -17192,7 +17217,7 @@
</para>
<programlisting>
-('foo',10,10) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
+('foo',10,-inf) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
</programlisting>
<para>
Modified: trunk/refman-6.0/optimization.xml
===================================================================
--- trunk/refman-6.0/optimization.xml 2011-06-27 13:30:13 UTC (rev 26620)
+++ trunk/refman-6.0/optimization.xml 2011-06-27 15:34:36 UTC (rev 26621)
Changed blocks: 2, Lines Added: 28, Lines Deleted: 2; 2710 bytes
@@ -3053,9 +3053,35 @@
two intervals if
<literal role="op" condition="not-equal"><></literal>
or <literal role="op" condition="not-equal">!=</literal>
- is used). For example, for this condition:
+ is used).
</para>
+ <para>
+ The optimizer attempts to use additional key parts to
+ determine the interval as long as the comparison
+ operator is
+ <literal role="op" condition="equal">=</literal>,
+ <literal role="op" condition="equal-to"><=></literal>,
+ or <literal role="op">IS NULL</literal>. If the operator
+ is
+ <literal role="op" condition="greater-than">></literal>,
+ <literal role="op" condition="less-than"><</literal>,
+ <literal role="op" condition="greater-than-or-equal">>=</literal>,
+ <literal role="op" condition="less-than-or-equal"><=</literal>,
+ <literal role="op" condition="not-equal">!=</literal>,
+ <literal role="op" condition="not-equal"><></literal>,
+ <literal role="op">BETWEEN</literal>, or
+ <literal role="op" condition="like">LIKE</literal>, the
+ optimizer uses it but considers no more key parts. For
+ the following expression, the optimizer uses
+ <literal role="op" condition="equal">=</literal> from
+ the first comparison. It also uses
+ <literal role="op" condition="greater-than-or-equal">>=</literal>
+ from the second comparison but considers no further key
+ parts and does not use the third comparison for interval
+ construction:
+ </para>
+
<programlisting>
<replaceable>key_part1</replaceable> = 'foo' AND <replaceable>key_part2</replaceable> >= 10 AND <replaceable>key_part3</replaceable> > 10
</programlisting>
@@ -3065,7 +3091,7 @@
</para>
<programlisting>
-('foo',10,10) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
+('foo',10,-inf) < (<replaceable>key_part1</replaceable>,<replaceable>key_part2</replaceable>,<replaceable>key_part3</replaceable>) < ('foo',+inf,+inf)
</programlisting>
<para>
| Thread |
|---|
| • svn commit - mysqldoc@oter02: r26621 - in trunk: . refman-5.0 refman-5.1 refman-5.5 refman-5.6 refman-6.0 | paul.dubois | 27 Jun |