You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by jt...@apache.org on 2005/03/31 02:27:30 UTC

svn commit: r159548 [16/17] - in incubator/derby/docs/trunk/src: adminguide/ devguide/ getstart/ tuning/

Modified: incubator/derby/docs/trunk/src/tuning/rtuntransform582.dita
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/rtuntransform582.dita?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/rtuntransform582.dita (original)
+++ incubator/derby/docs/trunk/src/tuning/rtuntransform582.dita Wed Mar 30 16:26:36 2005
@@ -1,38 +1,38 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
-<reference xml:lang="en-us" id="rtuntransform582">
-<title>Static IN predicate transformations</title>
-<prolog><metadata>
-<keywords>
-<indexterm>Static IN transformations</indexterm>
-<indexterm>Internal transformation of statements<indexterm>static IN predicates</indexterm></indexterm>
-</keywords>
-</metadata>
-</prolog>
-<refbody>
-<section><p>A static IN list predicate is one in which the IN list is composed entirely
-of constants. <ph conref="tunconrefs.dita#prod/productshortname"></ph> calculates the minimum and maximum values in the
-list and transforms the predicate into three new predicates: the original
-IN predicate, one that uses the &gt;= operator, and one that uses the &lt;=
-operator. The second and third are optimizable. For example:  
-<codeblock><b>orig_airport IN ('ABQ', 'AKL', 'DSM')</b></codeblock></p></section>
-<section><p>is transformed into  
-<codeblock><b>orig_airport IN ('ABQ', 'AKL', 'DSM')
-AND orig_airport &gt;= 'ABQ'
-AND orig_airport &lt;= 'DSM'</b></codeblock></p></section>
-</refbody></reference>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
+<reference xml:lang="en-us" id="rtuntransform582">
+<title>Static IN predicate transformations</title>
+<prolog><metadata>
+<keywords>
+<indexterm>Static IN transformations</indexterm>
+<indexterm>Internal transformation of statements<indexterm>static IN predicates</indexterm></indexterm>
+</keywords>
+</metadata>
+</prolog>
+<refbody>
+<section><p>A static IN list predicate is one in which the IN list is composed entirely
+of constants. <ph conref="tunconrefs.dita#prod/productshortname"></ph> calculates the minimum and maximum values in the
+list and transforms the predicate into three new predicates: the original
+IN predicate, one that uses the &gt;= operator, and one that uses the &lt;=
+operator. The second and third are optimizable. For example:  
+<codeblock><b>orig_airport IN ('ABQ', 'AKL', 'DSM')</b></codeblock></p></section>
+<section><p>is transformed into  
+<codeblock><b>orig_airport IN ('ABQ', 'AKL', 'DSM')
+AND orig_airport &gt;= 'ABQ'
+AND orig_airport &lt;= 'DSM'</b></codeblock></p></section>
+</refbody></reference>

Propchange: incubator/derby/docs/trunk/src/tuning/rtuntransform582.dita
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/docs/trunk/src/tuning/rtuntransform590.dita
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/rtuntransform590.dita?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/rtuntransform590.dita (original)
+++ incubator/derby/docs/trunk/src/tuning/rtuntransform590.dita Wed Mar 30 16:26:36 2005
@@ -1,45 +1,45 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
-<reference xml:lang="en-us" id="rtuntransform590">
-<title>OR transformations</title>
-<prolog><metadata>
-<keywords>
-<indexterm>OR transformations</indexterm>
-<indexterm>Internal transformation of statements<indexterm>OR predicates</indexterm></indexterm>
-</keywords>
-</metadata>
-</prolog>
-<refbody>
-<section><p>If all the OR predicates in a WHERE clause are of the form  
-<codeblock><b><b><i><xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform13785">simple column reference</xref></i></b> = <b><i>Expression</i></b></b></codeblock></p></section>
-<section><p>where the <b><i>columnReference</i></b> is the same for
-all predicates in the OR chain, <ph conref="tunconrefs.dita#prod/productshortname"></ph> transforms the OR chain into an
-IN list of the following form:  
-<codeblock><b><b><i><xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform13785">simple column reference</xref></i></b> IN (<b><i>Expression1</i></b>, <b><i>Expression2</i></b>, ..., <b><i>ExpressionN</i></b>)</b></codeblock></p></section>
-<section><p>The new predicate might be optimizable.</p></section>
-<section><p>For example, <ph conref="tunconrefs.dita#prod/productshortname"></ph> can transform the following statement:  
-<codeblock><b>SELECT * FROM Flights
-WHERE flight_id = 'AA1111'
-OR flight_id = 'US5555'
-OR flight_id = ?</b></codeblock></p></section>
-<section><p>into this one:  
-<codeblock><b>SELECT * FROM Flights
-WHERE flight_id IN ('AA1111', 'US5555', ?)</b></codeblock></p></section>
-<section><p>If this transformed IN list is a static IN list, <ph conref="tunconrefs.dita#prod/productshortname"></ph> also performs
-the static IN list transformation (see <xref href="rtuntransform582.dita#rtuntransform582"/>).</p></section>
-</refbody></reference>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
+<reference xml:lang="en-us" id="rtuntransform590">
+<title>OR transformations</title>
+<prolog><metadata>
+<keywords>
+<indexterm>OR transformations</indexterm>
+<indexterm>Internal transformation of statements<indexterm>OR predicates</indexterm></indexterm>
+</keywords>
+</metadata>
+</prolog>
+<refbody>
+<section><p>If all the OR predicates in a WHERE clause are of the form  
+<codeblock><b><b><i><xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform13785">simple column reference</xref></i></b> = <b><i>Expression</i></b></b></codeblock></p></section>
+<section><p>where the <b><i>columnReference</i></b> is the same for
+all predicates in the OR chain, <ph conref="tunconrefs.dita#prod/productshortname"></ph> transforms the OR chain into an
+IN list of the following form:  
+<codeblock><b><b><i><xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform13785">simple column reference</xref></i></b> IN (<b><i>Expression1</i></b>, <b><i>Expression2</i></b>, ..., <b><i>ExpressionN</i></b>)</b></codeblock></p></section>
+<section><p>The new predicate might be optimizable.</p></section>
+<section><p>For example, <ph conref="tunconrefs.dita#prod/productshortname"></ph> can transform the following statement:  
+<codeblock><b>SELECT * FROM Flights
+WHERE flight_id = 'AA1111'
+OR flight_id = 'US5555'
+OR flight_id = ?</b></codeblock></p></section>
+<section><p>into this one:  
+<codeblock><b>SELECT * FROM Flights
+WHERE flight_id IN ('AA1111', 'US5555', ?)</b></codeblock></p></section>
+<section><p>If this transformed IN list is a static IN list, <ph conref="tunconrefs.dita#prod/productshortname"></ph> also performs
+the static IN list transformation (see <xref href="rtuntransform582.dita#rtuntransform582"/>).</p></section>
+</refbody></reference>

Propchange: incubator/derby/docs/trunk/src/tuning/rtuntransform590.dita
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/docs/trunk/src/tuning/rtuntransform866214.dita
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/rtuntransform866214.dita?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/rtuntransform866214.dita (original)
+++ incubator/derby/docs/trunk/src/tuning/rtuntransform866214.dita Wed Mar 30 16:26:36 2005
@@ -1,35 +1,35 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-
-<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN"
- "../dtd/reference.dtd">
-<reference id="rtuntransform866214" xml:lang="en-us">
-<title>NOT IN predicate transformations</title>
-<prolog></prolog>
-<refbody>
-<section><p>NOT IN lists are transformed into multiple predicates that use
-the &lt;&gt; operator. &lt;&gt; predicates are not optimizable, but they are sargable
-(See <xref href="ctuntransform13966.dita#ctuntransform13966"></xref>)<?Pub Caret?>.
-For example:   <codeblock><b>orig_airport NOT IN ('ABQ', 'AKL', 'DSM')</b></codeblock></p></section>
-<section><p>becomes   <codeblock><b>orig_airport &lt;&gt; 'ABQ'
-AND orig_airport &lt;&gt; 'AKL'
-AND orig_airport &lt;&gt; 'DSM'</b></codeblock></p></section>
-<section><p>In addition, large lists are sorted in ascending order for performance
-reasons.</p></section>
-</refbody>
-</reference>
-<?Pub *0000000950?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+
+<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN"
+ "../dtd/reference.dtd">
+<reference id="rtuntransform866214" xml:lang="en-us">
+<title>NOT IN predicate transformations</title>
+<prolog></prolog>
+<refbody>
+<section><p>NOT IN lists are transformed into multiple predicates that use
+the &lt;&gt; operator. &lt;&gt; predicates are not optimizable, but they are sargable
+(See <xref href="ctuntransform13966.dita#ctuntransform13966"></xref>)<?Pub Caret?>.
+For example:   <codeblock><b>orig_airport NOT IN ('ABQ', 'AKL', 'DSM')</b></codeblock></p></section>
+<section><p>becomes   <codeblock><b>orig_airport &lt;&gt; 'ABQ'
+AND orig_airport &lt;&gt; 'AKL'
+AND orig_airport &lt;&gt; 'DSM'</b></codeblock></p></section>
+<section><p>In addition, large lists are sorted in ascending order for performance
+reasons.</p></section>
+</refbody>
+</reference>
+<?Pub *0000000950?>

Propchange: incubator/derby/docs/trunk/src/tuning/rtuntransform866214.dita
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/docs/trunk/src/tuning/rtuntransform866547.dita
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/rtuntransform866547.dita?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/rtuntransform866547.dita (original)
+++ incubator/derby/docs/trunk/src/tuning/rtuntransform866547.dita Wed Mar 30 16:26:36 2005
@@ -1,36 +1,36 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
-<reference xml:lang="en-us" id="rtuntransform866547">
-<title>Transitive closure on join clauses</title>
-<prolog>
-</prolog>
-<refbody>
-<section><p>When a join statement selects from three or more tables, <ph conref="tunconrefs.dita#prod/productshortname"></ph> analyzes
-any <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>s between <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform13785">simple column reference</xref>s within each query block and adds additional <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>s where possible if they do not currently exist. For example, <ph conref="tunconrefs.dita#prod/productshortname"></ph> transforms
-the following query:  
-<codeblock><b>SELECT * FROM samp.employee e, samp.emp_act a, samp.emp_resume r
-WHERE e.empno = a.empno
-and a.empno = r.empno</b></codeblock></p></section>
-<section><p>into the following:  
-<codeblock><b>SELECT * FROM samp.employee e, samp.emp_act a, samp.emp_resume r
-WHERE e.empno = a.empno
-and a.empno = r.empno
-and e.empno = r.empno</b></codeblock></p></section>
-<section><p>On the other hand, the optimizer knows that one of these <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>s is redundant and will throw out the one that is least useful
-for optimization.</p></section>
-</refbody></reference>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
+<reference xml:lang="en-us" id="rtuntransform866547">
+<title>Transitive closure on join clauses</title>
+<prolog>
+</prolog>
+<refbody>
+<section><p>When a join statement selects from three or more tables, <ph conref="tunconrefs.dita#prod/productshortname"></ph> analyzes
+any <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>s between <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform13785">simple column reference</xref>s within each query block and adds additional <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>s where possible if they do not currently exist. For example, <ph conref="tunconrefs.dita#prod/productshortname"></ph> transforms
+the following query:  
+<codeblock><b>SELECT * FROM samp.employee e, samp.emp_act a, samp.emp_resume r
+WHERE e.empno = a.empno
+and a.empno = r.empno</b></codeblock></p></section>
+<section><p>into the following:  
+<codeblock><b>SELECT * FROM samp.employee e, samp.emp_act a, samp.emp_resume r
+WHERE e.empno = a.empno
+and a.empno = r.empno
+and e.empno = r.empno</b></codeblock></p></section>
+<section><p>On the other hand, the optimizer knows that one of these <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>s is redundant and will throw out the one that is least useful
+for optimization.</p></section>
+</refbody></reference>

Propchange: incubator/derby/docs/trunk/src/tuning/rtuntransform866547.dita
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/docs/trunk/src/tuning/rtuntransform866587.dita
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/rtuntransform866587.dita?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/rtuntransform866587.dita (original)
+++ incubator/derby/docs/trunk/src/tuning/rtuntransform866587.dita Wed Mar 30 16:26:36 2005
@@ -1,71 +1,71 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
-<reference xml:lang="en-us" id="rtuntransform866587">
-<title>Transitive Closure on Search Clauses</title>
-<prolog>
-</prolog>
-<refbody>
-<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> applies transitive closure on search clauses after transitive
-closure on join clauses. For each <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform26698">sargable</xref> predicate
-where a <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform13785">simple column reference</xref> is compared with a constant
-(or the IS NULL and IS NOT NULL operators), <ph conref="tunconrefs.dita#prod/productshortname"></ph> looks for an <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref> between the simple column reference
-and a simple column reference from another table in the same query block.
-For each such <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>, <ph conref="tunconrefs.dita#prod/productshortname"></ph> then
-searches for a similar comparison (the same operator) between the column from
-the other table and the same constant. <ph conref="tunconrefs.dita#prod/productshortname"></ph> adds a new predicate if
-no such predicate is found.</p></section>
-<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> performs all other possible transformations on the predicates
-(described in <xref href="ctuntransform35783.dita#ctuntransform35783"/>) before applying
-transitive closure on search clauses.</p></section>
-<section><p>For example, given the following statement:  
-<codeblock><b>SELECT * FROM Flights, FlightAvailability
-WHERE Flights.flight_id = FlightAvailability.flight_id
-AND Flights.flight_id between 'AA1100' and 'AA1250'
-AND Flights.flight_id &lt;&gt; 'AA1219'
-AND FlightAvailability.flight_id &lt;&gt; 'AA1271' </b></codeblock></p></section>
-<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> first performs any other transformations:  
-<ul>
-<li>the BETWEEN transformation on the second predicate:  
-<codeblock><b>AND Flights.flight_id &gt;= 'AA1100' 
-AND Flights.flight_id &lt;=  'AA1250'</b></codeblock></li>
-</ul></p></section>
-<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> then performs the transitive closure:  
-<codeblock><b>SELECT * FROM Flights, FlightAvailability
-WHERE Flights.flight_id = FlightAvailability.flight_id
-AND Flights.flight_id &gt;= 'AA1100' 
-AND Flights.flight_id &lt;=  'AA1250'
-AND Flights.flight_id &lt;&gt; 'AA1219'
-AND Flights.flight_id &lt;&gt; 'AA1271'
-AND FlightAvailability.flight_id &gt;= 'AA1100' 
-AND FlightAvailability.flight_id &lt;=  'AA1250'
-AND FlightAvailability.flight_id &lt;&gt; 'AA1271'
-AND FlightAvailability.flight_id &lt;&gt; 'AA1219'</b></codeblock></p></section>
-<section><p>When a sargable predicate uses the = operator, <ph conref="tunconrefs.dita#prod/productshortname"></ph> can remove all <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>s comparing that column reference to
-another simple column reference from the same query block as part of applying
-transitive closure, because the <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref> is
-now redundant, whether or not a new predicate was added. For example:   
-<codeblock><b>SELECT * FROM Flights, Flightavailability
-WHERE Flights.flight_id = Flightavailability.flight_id
-AND Flightavailability.flight_id = 'AA1122'</b></codeblock></p></section>
-<section><p>becomes (and is equivalent to)  
-<codeblock><b>SELECT * FROM Flights, Flightavailability
-WHERE Flights.flight_id = 'AA1122'
-AND Flightavailability.flight_id = 'AA1122'</b></codeblock></p></section>
-<section><p>The elimination of redundant predicates gives the optimizer more accurate
-selectivity information and improves performance at execution time.</p></section>
-</refbody></reference>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
+<reference xml:lang="en-us" id="rtuntransform866587">
+<title>Transitive Closure on Search Clauses</title>
+<prolog>
+</prolog>
+<refbody>
+<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> applies transitive closure on search clauses after transitive
+closure on join clauses. For each <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform26698">sargable</xref> predicate
+where a <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform13785">simple column reference</xref> is compared with a constant
+(or the IS NULL and IS NOT NULL operators), <ph conref="tunconrefs.dita#prod/productshortname"></ph> looks for an <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref> between the simple column reference
+and a simple column reference from another table in the same query block.
+For each such <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>, <ph conref="tunconrefs.dita#prod/productshortname"></ph> then
+searches for a similar comparison (the same operator) between the column from
+the other table and the same constant. <ph conref="tunconrefs.dita#prod/productshortname"></ph> adds a new predicate if
+no such predicate is found.</p></section>
+<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> performs all other possible transformations on the predicates
+(described in <xref href="ctuntransform35783.dita#ctuntransform35783"/>) before applying
+transitive closure on search clauses.</p></section>
+<section><p>For example, given the following statement:  
+<codeblock><b>SELECT * FROM Flights, FlightAvailability
+WHERE Flights.flight_id = FlightAvailability.flight_id
+AND Flights.flight_id between 'AA1100' and 'AA1250'
+AND Flights.flight_id &lt;&gt; 'AA1219'
+AND FlightAvailability.flight_id &lt;&gt; 'AA1271' </b></codeblock></p></section>
+<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> first performs any other transformations:  
+<ul>
+<li>the BETWEEN transformation on the second predicate:  
+<codeblock><b>AND Flights.flight_id &gt;= 'AA1100' 
+AND Flights.flight_id &lt;=  'AA1250'</b></codeblock></li>
+</ul></p></section>
+<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> then performs the transitive closure:  
+<codeblock><b>SELECT * FROM Flights, FlightAvailability
+WHERE Flights.flight_id = FlightAvailability.flight_id
+AND Flights.flight_id &gt;= 'AA1100' 
+AND Flights.flight_id &lt;=  'AA1250'
+AND Flights.flight_id &lt;&gt; 'AA1219'
+AND Flights.flight_id &lt;&gt; 'AA1271'
+AND FlightAvailability.flight_id &gt;= 'AA1100' 
+AND FlightAvailability.flight_id &lt;=  'AA1250'
+AND FlightAvailability.flight_id &lt;&gt; 'AA1271'
+AND FlightAvailability.flight_id &lt;&gt; 'AA1219'</b></codeblock></p></section>
+<section><p>When a sargable predicate uses the = operator, <ph conref="tunconrefs.dita#prod/productshortname"></ph> can remove all <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref>s comparing that column reference to
+another simple column reference from the same query block as part of applying
+transitive closure, because the <xref href="ctuntransform13966.dita#ctuntransform13966/rtuntransform36163">equijoin predicate</xref> is
+now redundant, whether or not a new predicate was added. For example:   
+<codeblock><b>SELECT * FROM Flights, Flightavailability
+WHERE Flights.flight_id = Flightavailability.flight_id
+AND Flightavailability.flight_id = 'AA1122'</b></codeblock></p></section>
+<section><p>becomes (and is equivalent to)  
+<codeblock><b>SELECT * FROM Flights, Flightavailability
+WHERE Flights.flight_id = 'AA1122'
+AND Flightavailability.flight_id = 'AA1122'</b></codeblock></p></section>
+<section><p>The elimination of redundant predicates gives the optimizer more accurate
+selectivity information and improves performance at execution time.</p></section>
+</refbody></reference>

Propchange: incubator/derby/docs/trunk/src/tuning/rtuntransform866587.dita
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/docs/trunk/src/tuning/rtuntransform867602.dita
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/rtuntransform867602.dita?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/rtuntransform867602.dita (original)
+++ incubator/derby/docs/trunk/src/tuning/rtuntransform867602.dita Wed Mar 30 16:26:36 2005
@@ -1,35 +1,35 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
-<reference xml:lang="en-us" id="rtuntransform867602">
-<title>COUNT(nonNullableColumn)</title>
-<prolog><metadata>
-<keywords>
-<indexterm>Internal transformation of statements<indexterm>COUNT</indexterm></indexterm>
-</keywords>
-</metadata>
-</prolog>
-<refbody>
-<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> transforms COUNT(nonNullableColumn) into COUNT(*). This improves
-performance by potentially reducing the number of referenced columns in the
-table (each referenced column needs to be read in for each row) and by giving
-the optimizer more access path choices. For example, the cheapest access path
-for  
-<codeblock><b>SELECT COUNT(*) FROM t1</b></codeblock>is
-the index on <i>t1</i> with the smallest number of leaf pages,
-and the optimizer is free to choose that path.</p></section>
-</refbody></reference>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+<!DOCTYPE reference PUBLIC "-//IBM//DTD DITA Reference//EN" "../dtd/reference.dtd">
+<reference xml:lang="en-us" id="rtuntransform867602">
+<title>COUNT(nonNullableColumn)</title>
+<prolog><metadata>
+<keywords>
+<indexterm>Internal transformation of statements<indexterm>COUNT</indexterm></indexterm>
+</keywords>
+</metadata>
+</prolog>
+<refbody>
+<section><p><ph conref="tunconrefs.dita#prod/productshortname"></ph> transforms COUNT(nonNullableColumn) into COUNT(*). This improves
+performance by potentially reducing the number of referenced columns in the
+table (each referenced column needs to be read in for each row) and by giving
+the optimizer more access path choices. For example, the cheapest access path
+for  
+<codeblock><b>SELECT COUNT(*) FROM t1</b></codeblock>is
+the index on <i>t1</i> with the smallest number of leaf pages,
+and the optimizer is free to choose that path.</p></section>
+</refbody></reference>

Propchange: incubator/derby/docs/trunk/src/tuning/rtuntransform867602.dita
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/docs/trunk/src/tuning/ttundepth33391.dita
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/ttundepth33391.dita?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/ttundepth33391.dita (original)
+++ incubator/derby/docs/trunk/src/tuning/ttundepth33391.dita Wed Mar 30 16:26:36 2005
@@ -1,63 +1,63 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-
-<!DOCTYPE task PUBLIC "-//IBM//DTD DITA Task//EN"
- "../dtd/task.dtd">
-<task id="ttundepth33391" xml:lang="en-us">
-<title>Analyzing statement execution</title>
-<prolog><metadata>
-<keywords><indexterm>Statement execution<indexterm>analyzing</indexterm></indexterm>
-<indexterm>Index use<indexterm>analyzing</indexterm></indexterm><indexterm>Join
-order<indexterm>analyzing</indexterm></indexterm><indexterm>Application performance<indexterm>analyzing</indexterm></indexterm>
-<indexterm>Checkpoint</indexterm></keywords>
-</metadata></prolog>
-<taskbody>
-<context> After you create indexes, make sure that <ph conref="tunconrefs.dita#prod/productshortname"></ph> is using them. In
-addition, you might also want to find out the join order <ph conref="tunconrefs.dita#prod/productshortname"></ph> is choosing
-and force a better order if necessary.<p>A general plan of attack for analyzing
-your application's SQL statements:</p></context><?Pub Caret1?>
-<steps>
-<step><cmd>Collect your application's most frequently used SQL statements
-and transactions into a single test.</cmd></step>
-<step><cmd>Create a benchmark test suite against which to run the sample queries.
-The first thing the test suite should do is checkpoint data (force <ph conref="tunconrefs.dita#prod/productshortname"></ph> to
-flush data to disk). You can do that with the following JDBC code: </cmd>
-<stepxmp><codeblock>CallableStatement cs = conn.prepareCall
-("CALL SYSCS_UTIL.SYSCS_CHECKPOINT_DATABASE()");
-cs.execute();
-cs.close();</codeblock></stepxmp></step>
-<step><cmd>Use performance timings to identify poorly performing queries.
-Try to distinguish between cached and uncached data. Focus on measuring operations
-on uncached data (data not already in memory). For example, the first time
-you run a query, <ph conref="tunconrefs.dita#prod/productshortname"></ph> returns uncached data. If you run the same query immediately
-afterward, <ph conref="tunconrefs.dita#prod/productshortname"></ph> is probably returning cached data. The performance of these
-two otherwise identical statements varies significantly and skews results.</cmd>
-</step>
-<step><cmd>Use RunTimeStatistics to identify tables that are scanned excessively.
-Check that the appropriate indexes are being used to satisfy the query and
-that <ph conref="tunconrefs.dita#prod/productshortname"></ph> is choosing the best join order. Force a better order when necessary.
-See <xref href="ctundepth13055.dita#ctundepth13055"></xref> for more information.</cmd>
-</step>
-<step><cmd>Make any necessary changes and then repeat.</cmd></step>
-<step><cmd>If changing data access does not create significant improvements,
-consider other database design changes, such as denormalizing data to reduce
-the number of joins required. Then review the tips in <xref href="ctundepth21935.dita#ctundepth21935"></xref>.</cmd>
-</step>
-</steps>
-</taskbody>
-</task>
-<?Pub *0000002662?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+
+<!DOCTYPE task PUBLIC "-//IBM//DTD DITA Task//EN"
+ "../dtd/task.dtd">
+<task id="ttundepth33391" xml:lang="en-us">
+<title>Analyzing statement execution</title>
+<prolog><metadata>
+<keywords><indexterm>Statement execution<indexterm>analyzing</indexterm></indexterm>
+<indexterm>Index use<indexterm>analyzing</indexterm></indexterm><indexterm>Join
+order<indexterm>analyzing</indexterm></indexterm><indexterm>Application performance<indexterm>analyzing</indexterm></indexterm>
+<indexterm>Checkpoint</indexterm></keywords>
+</metadata></prolog>
+<taskbody>
+<context> After you create indexes, make sure that <ph conref="tunconrefs.dita#prod/productshortname"></ph> is using them. In
+addition, you might also want to find out the join order <ph conref="tunconrefs.dita#prod/productshortname"></ph> is choosing
+and force a better order if necessary.<p>A general plan of attack for analyzing
+your application's SQL statements:</p></context><?Pub Caret1?>
+<steps>
+<step><cmd>Collect your application's most frequently used SQL statements
+and transactions into a single test.</cmd></step>
+<step><cmd>Create a benchmark test suite against which to run the sample queries.
+The first thing the test suite should do is checkpoint data (force <ph conref="tunconrefs.dita#prod/productshortname"></ph> to
+flush data to disk). You can do that with the following JDBC code: </cmd>
+<stepxmp><codeblock>CallableStatement cs = conn.prepareCall
+("CALL SYSCS_UTIL.SYSCS_CHECKPOINT_DATABASE()");
+cs.execute();
+cs.close();</codeblock></stepxmp></step>
+<step><cmd>Use performance timings to identify poorly performing queries.
+Try to distinguish between cached and uncached data. Focus on measuring operations
+on uncached data (data not already in memory). For example, the first time
+you run a query, <ph conref="tunconrefs.dita#prod/productshortname"></ph> returns uncached data. If you run the same query immediately
+afterward, <ph conref="tunconrefs.dita#prod/productshortname"></ph> is probably returning cached data. The performance of these
+two otherwise identical statements varies significantly and skews results.</cmd>
+</step>
+<step><cmd>Use RunTimeStatistics to identify tables that are scanned excessively.
+Check that the appropriate indexes are being used to satisfy the query and
+that <ph conref="tunconrefs.dita#prod/productshortname"></ph> is choosing the best join order. Force a better order when necessary.
+See <xref href="ctundepth13055.dita#ctundepth13055"></xref> for more information.</cmd>
+</step>
+<step><cmd>Make any necessary changes and then repeat.</cmd></step>
+<step><cmd>If changing data access does not create significant improvements,
+consider other database design changes, such as denormalizing data to reduce
+the number of joins required. Then review the tips in <xref href="ctundepth21935.dita#ctundepth21935"></xref>.</cmd>
+</step>
+</steps>
+</taskbody>
+</task>
+<?Pub *0000002662?>

Propchange: incubator/derby/docs/trunk/src/tuning/ttundepth33391.dita
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/docs/trunk/src/tuning/ttundepth34375.dita
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/ttundepth34375.dita?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/ttundepth34375.dita (original)
+++ incubator/derby/docs/trunk/src/tuning/ttundepth34375.dita Wed Mar 30 16:26:36 2005
@@ -1,50 +1,50 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-
-<!DOCTYPE task PUBLIC "-//IBM//DTD DITA Task//EN"
- "../dtd/task.dtd">
-<task id="ttundepth34375" xml:lang="en-us">
-<title>How you use the RUNTIMESTATISTICS attribute</title>
-<prolog><metadata>
-<keywords><indexterm>RunTimeStatistics<indexterm>using</indexterm></indexterm>
-</keywords>
-</metadata></prolog>
-<taskbody>
-<steps-unordered>
-<step><cmd>To use the RUNTIMESTATISTICS attribute in <codeph>ij</codeph>,
-turn on and off RUNTIMESTATISTICS using the <codeph>SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS()</codeph> system
-procedure (see the <cite><ph conref="tunconrefs.dita#pub/citref"></ph></cite> for more information):</cmd>
-<stepxmp><codeblock>-- turn on RUNTIMESTATISTICS for connection:
-<b>CALL SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS(1);</b>
--- execute complex query here -- step through the result set
--- access runtime statistics information:
-<b>VALUES SYSCS_UTIL.SYSCS_GET_RUNTIMESTATISTICS();</b>
-<b>CALL SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS(0);</b></codeblock></stepxmp>
-</step>
-<step><cmd>Turn on statistics timing using the <codeph>SYSCS_UTIL.SYSCS_SET_STATISTICS_TIMING</codeph> system
-procedure (see the <cite><ph conref="tunconrefs.dita#pub/citref"></ph></cite> for more information).
-If you do not turn on statistics timing, you will see the statement execution
-plan only, and not the timing information.</cmd><stepxmp><codeblock>CALL SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS(1);
-CALL SYSCS_UTIL.SYSCS_SET_STATISTICS_TIMING(1);</codeblock></stepxmp></step>
-</steps-unordered>
-<result>Although the syntax is different, the basic steps for working with
-RUNTIMESTATISTICS are the same in a Java program.</result>
-<postreq>If you are <?Pub Caret?>working in <codeph>ij</codeph>, set the display
-width to 5000 or another high number:<codeblock><b>MaximumDisplayWidth 5000</b></codeblock></postreq>
-</taskbody>
-</task>
-<?Pub *0000001880?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+
+<!DOCTYPE task PUBLIC "-//IBM//DTD DITA Task//EN"
+ "../dtd/task.dtd">
+<task id="ttundepth34375" xml:lang="en-us">
+<title>How you use the RUNTIMESTATISTICS attribute</title>
+<prolog><metadata>
+<keywords><indexterm>RunTimeStatistics<indexterm>using</indexterm></indexterm>
+</keywords>
+</metadata></prolog>
+<taskbody>
+<steps-unordered>
+<step><cmd>To use the RUNTIMESTATISTICS attribute in <codeph>ij</codeph>,
+turn on and off RUNTIMESTATISTICS using the <codeph>SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS()</codeph> system
+procedure (see the <cite><ph conref="tunconrefs.dita#pub/citref"></ph></cite> for more information):</cmd>
+<stepxmp><codeblock>-- turn on RUNTIMESTATISTICS for connection:
+<b>CALL SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS(1);</b>
+-- execute complex query here -- step through the result set
+-- access runtime statistics information:
+<b>VALUES SYSCS_UTIL.SYSCS_GET_RUNTIMESTATISTICS();</b>
+<b>CALL SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS(0);</b></codeblock></stepxmp>
+</step>
+<step><cmd>Turn on statistics timing using the <codeph>SYSCS_UTIL.SYSCS_SET_STATISTICS_TIMING</codeph> system
+procedure (see the <cite><ph conref="tunconrefs.dita#pub/citref"></ph></cite> for more information).
+If you do not turn on statistics timing, you will see the statement execution
+plan only, and not the timing information.</cmd><stepxmp><codeblock>CALL SYSCS_UTIL.SYSCS_SET_RUNTIMESTATISTICS(1);
+CALL SYSCS_UTIL.SYSCS_SET_STATISTICS_TIMING(1);</codeblock></stepxmp></step>
+</steps-unordered>
+<result>Although the syntax is different, the basic steps for working with
+RUNTIMESTATISTICS are the same in a Java program.</result>
+<postreq>If you are <?Pub Caret?>working in <codeph>ij</codeph>, set the display
+width to 5000 or another high number:<codeblock><b>MaximumDisplayWidth 5000</b></codeblock></postreq>
+</taskbody>
+</task>
+<?Pub *0000001880?>

Propchange: incubator/derby/docs/trunk/src/tuning/ttundepth34375.dita
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/docs/trunk/src/tuning/tunconrefs.dita
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/tunconrefs.dita?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/tunconrefs.dita (original)
+++ incubator/derby/docs/trunk/src/tuning/tunconrefs.dita Wed Mar 30 16:26:36 2005
@@ -1,58 +1,58 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-<!DOCTYPE dita PUBLIC "-//IBM//DTD DITA Composite//EN"
- "../dtd/ditabase.dtd">
-<?Pub Inc?>
-<dita><?Pub Caret1?>
-<concept id="prod" xml:lang="en-us">
-<title>Product specific entities</title>
-<conbody>
-<p>Naming convention: <userinput><varname>abb</varname></userinput> (abbreviation
-for product) followed by <userinput>l</userinput> (long version) or <userinput>s</userinput> (short
-version), followed by <userinput>t</userinput> if the reference is pre-marked
-with trademarks.</p>
-<p><ph id="productshortname">Derby</ph></p>
-<p><ph id="productlongname">Apache Derby</ph></p>
-<p><ph id="productinstallname">Derby_10</ph></p>
-<p><ph id="productinstallpath">DERBY_INSTALL</ph></p>
-<p><ph id="productlowercase">derby</ph></p>
-</conbody>
-</concept>
-<concept id="vers" xml:lang="en-us">
-<title>Version and release numbers</title>
-<conbody>
-<p><ph id="fullversionnumber">Open Source</ph></p>
-</conbody>
-</concept>
-<concept id="pub" xml:lang="en-us">
-<title>Publications</title>
-<conbody>
-<p>Naming convention: <userinput>cit<varname>ABB</varname></userinput>, where <userinput>cit</userinput> is
-the indicator that the conref is to a publication title and <varname>ABB</varname> is
-the abbreviation for the publication (say, 2-6 characters).</p>
-<p>We can't use the "correct" DITA cite tag because the IDD wrapper can't
-handle it.</p>
-<p><ph id="citdevelop"><i>Derby Developer's Guide</i></ph></p>
-<p><ph id="citadmin"><i>Derby Server and Administration Guide</i></ph></p>
-<p><ph id="citref"><i>Derby Reference Manual</i></ph></p>
-<p><ph id="citutilities"><i>Derby Tools and Utilities Guide</i></ph></p>
-<p><ph id="citgetstart"><i>Getting Started with Derby</i></ph></p>
-<p><ph id="cittuning"><i>Tuning Derby</i></ph></p>
-</conbody>
-</concept>
-</dita>
-<?Pub *0000001846?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+<!DOCTYPE dita PUBLIC "-//IBM//DTD DITA Composite//EN"
+ "../dtd/ditabase.dtd">
+<?Pub Inc?>
+<dita><?Pub Caret1?>
+<concept id="prod" xml:lang="en-us">
+<title>Product specific entities</title>
+<conbody>
+<p>Naming convention: <userinput><varname>abb</varname></userinput> (abbreviation
+for product) followed by <userinput>l</userinput> (long version) or <userinput>s</userinput> (short
+version), followed by <userinput>t</userinput> if the reference is pre-marked
+with trademarks.</p>
+<p><ph id="productshortname">Derby</ph></p>
+<p><ph id="productlongname">Apache Derby</ph></p>
+<p><ph id="productinstallname">Derby_10</ph></p>
+<p><ph id="productinstallpath">DERBY_INSTALL</ph></p>
+<p><ph id="productlowercase">derby</ph></p>
+</conbody>
+</concept>
+<concept id="vers" xml:lang="en-us">
+<title>Version and release numbers</title>
+<conbody>
+<p><ph id="fullversionnumber">Open Source</ph></p>
+</conbody>
+</concept>
+<concept id="pub" xml:lang="en-us">
+<title>Publications</title>
+<conbody>
+<p>Naming convention: <userinput>cit<varname>ABB</varname></userinput>, where <userinput>cit</userinput> is
+the indicator that the conref is to a publication title and <varname>ABB</varname> is
+the abbreviation for the publication (say, 2-6 characters).</p>
+<p>We can't use the "correct" DITA cite tag because the IDD wrapper can't
+handle it.</p>
+<p><ph id="citdevelop"><i>Derby Developer's Guide</i></ph></p>
+<p><ph id="citadmin"><i>Derby Server and Administration Guide</i></ph></p>
+<p><ph id="citref"><i>Derby Reference Manual</i></ph></p>
+<p><ph id="citutilities"><i>Derby Tools and Utilities Guide</i></ph></p>
+<p><ph id="citgetstart"><i>Getting Started with Derby</i></ph></p>
+<p><ph id="cittuning"><i>Tuning Derby</i></ph></p>
+</conbody>
+</concept>
+</dita>
+<?Pub *0000001846?>

Propchange: incubator/derby/docs/trunk/src/tuning/tunconrefs.dita
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/derby/docs/trunk/src/tuning/tuningderby.ditamap
URL: http://svn.apache.org/viewcvs/incubator/derby/docs/trunk/src/tuning/tuningderby.ditamap?view=diff&r1=159547&r2=159548
==============================================================================
--- incubator/derby/docs/trunk/src/tuning/tuningderby.ditamap (original)
+++ incubator/derby/docs/trunk/src/tuning/tuningderby.ditamap Wed Mar 30 16:26:36 2005
@@ -1,362 +1,362 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- 
-Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
-
-Licensed under the Apache License, Version 2.0 (the "License");  
-you may not use this file except in compliance with the License.  
-You may obtain a copy of the License at      
-
-http://www.apache.org/licenses/LICENSE-2.0  
-
-Unless required by applicable law or agreed to in writing, software  
-distributed under the License is distributed on an "AS IS" BASIS,  
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
-See the License for the specific language governing permissions and  
-limitations under the License.
--->
-
-<!DOCTYPE map PUBLIC "-//IBM//DTD DITA Map//EN"
- "../dtd/map.dtd">
-<map title="Tuning Derby">
-<topicmeta>
-<copyright>
-<copyryear year="1997, 2004"/>
-<copyrholder>Apache Software Foundation</copyrholder>
-</copyright>
-<prodinfo>
-<prodname>Tuning Derby</prodname>
-<vrmlist><vrm version="10"/></vrmlist>
-<brand>Apache Derby</brand></prodinfo>
-</topicmeta>
-<topicref href="rtuncopyright.dita" navtitle="Copyright"></topicref>
-<topicref href="ctunpropref1002477.dita" navtitle="About this document">
-<topicref href="ctunpropref11181.dita" navtitle="Purpose of this document">
-</topicref>
-<topicref href="ctunpropref22460.dita" navtitle="Audience"></topicref>
-<topicref href="ctunpropref23947.dita" navtitle="How this document is organized">
-</topicref>
-</topicref>
-<topicref href="ctunsetprop34818.dita" navtitle="Working with Derby properties">
-<topicref href="ctunsetprop11108.dita" navtitle="Properties overview">
-<topicref href="ctunsetprop824451.dita" navtitle="Scope of properties"></topicref>
-<topicref href="ctunsetprop824500.dita" navtitle="Persistence of properties">
-</topicref>
-<topicref href="ctunsetprop23308.dita" navtitle="Precedence of properties">
-<topicref href="ctunsetprop824533.dita" navtitle="Protection of database-wide properties">
-</topicref>
-</topicref>
-<topicref href="ctunsetprop824615.dita" navtitle="Dynamic versus static properties">
-</topicref>
-</topicref>
-<topicref href="ctunsetprop24222.dita" navtitle="Ways of setting Derby properties">
-<topicref href="ctunsetprop16827.dita" navtitle="System-wide properties">
-<topicref href="ctunsetprop11561.dita" navtitle="Changing the system-wide properties programmatically">
-<topicref href="ctunsetprop1003847.dita" navtitle="As a parameter to the JVM command line"
-toc="no"></topicref>
-<topicref href="ctunsetprop38343.dita" navtitle="Using a properties object within an application or statement"
-toc="no"></topicref>
-</topicref>
-<topicref href="ctunsetprop13074.dita" navtitle="In the derby.properties file">
-</topicref>
-<topicref href="ctunsetprop824983.dita" navtitle="Verifying system properties">
-</topicref>
-</topicref>
-<topicref href="ctunsetprop12821.dita" navtitle="Database-wide properties">
-</topicref>
-<topicref href="ctunsetprop24843.dita" navtitle="In a client/server environment">
-</topicref>
-<topicref href="ctunsetprop44147.dita" navtitle="Dynamic or static changes to properties">
-</topicref>
-</topicref>
-<topicref href="ctunsetprop32443.dita" navtitle="Properties case study"></topicref>
-</topicref>
-<topicref href="ctunperf22457.dita" navtitle="Performance tips and tricks">
-<topicref href="ctunperf25864.dita" navtitle="The tips">
-<topicref href="ctunperf18705.dita" navtitle="Use prepared statements with substitution parameters">
-</topicref>
-<topicref href="ctunperf10679.dita" navtitle="Create indexes, and make sure they are being used">
-</topicref>
-<topicref href="ctunperf54492.dita" navtitle="Increase the size of the data page cache">
-</topicref>
-<topicref href="ctunperf10065.dita" navtitle="Tune the size of database pages">
-<topicref href="ctunperf816059.dita" navtitle="Performance trade-offs of large pages">
-<topicref href="ctunperf1004126.dita" navtitle="When large page size does not improve performance"
-toc="no"></topicref>
-<topicref href="ctunperf1004182.dita" navtitle="When large page size is not desirable"
-toc="no"></topicref>
-</topicref>
-</topicref>
-<topicref href="ctunperf23868.dita" navtitle="Avoid expensive queries"></topicref>
-<topicref href="ctunperf98197.dita" navtitle="Use the appropriate getXXX and setXXX methods for the type">
-</topicref>
-<topicref href="ctunperf16556.dita" navtitle="Tune database booting/class loading">
-</topicref>
-<topicref href="ctunperf16800.dita" navtitle="Avoid inserts in autocommit mode">
-</topicref>
-</topicref>
-<topicref href="ctunperf31086.dita" navtitle="More tips">
-<topicref href="ctunperf17936.dita" navtitle="Shut down the system properly">
-</topicref>
-<topicref href="ctunperf816635.dita" navtitle="Put Derby first in your class path">
-</topicref>
-</topicref>
-</topicref>
-<topicref href="ctundepth39739.dita" navtitle="Tuning databases and applications">
-<topicref href="ctundepth21935.dita" navtitle="Application and database design issues">
-<topicref href="ctundepth10525.dita" navtitle="Avoiding table scans of large tables">
-<topicref href="ctundepth23033.dita" navtitle="Index, index, index">
-<topicref href="ctundepth1002853.dita" navtitle="Create useful indexes" toc="no">
-</topicref>
-<topicref href="ctundepth1003116.dita" navtitle="Make sure indexes are being used, and rebuild them"
-toc="no"></topicref>
-<topicref href="ctundepth1003209.dita" navtitle="Think about index order"
-toc="no"></topicref>
-<topicref href="ctundepth1003369.dita" navtitle="Think about join order" toc="no">
-</topicref>
-<topicref href="ctundepth1003672.dita" navtitle="Decide whether a descending index would be useful"
-toc="no"></topicref>
-</topicref>
-<topicref href="ctundepth36205.dita" navtitle="Prevent the user from issuing expensive queries">
-</topicref>
-</topicref>
-<topicref href="ctundepth29804.dita" navtitle="Avoiding compiling SQL statements">
-<topicref href="ctundepth32379.dita" navtitle="Using the statement cache">
-</topicref>
-</topicref>
-<topicref href="ctundepth14326.dita" navtitle="Shielding users from Derby class-loading events">
-</topicref>
-</topicref>
-<topicref href="ttundepth33391.dita" navtitle="Analyzing statement execution">
-</topicref>
-<topicref href="ctundepth13055.dita" navtitle="Working with RunTimeStatistics">
-<topicref href="ctundepth26674.dita" navtitle="Overview"></topicref>
-<topicref href="ttundepth34375.dita" navtitle="How you use it"></topicref>
-<topicref href="ctundepth37648.dita" navtitle="Analyzing the information">
-<topicref href="ctundepth853095.dita" navtitle="Statistics timing"></topicref>
-<topicref href="ctundepth853133.dita" navtitle="Statement execution plan">
-</topicref>
-<topicref href="ctundepth853228.dita" navtitle="Optimizer estimates"></topicref>
-</topicref>
-</topicref>
-</topicref>
-<topicref href="ctunoptimz39739.dita" navtitle="DML statements and performance">
-<topicref href="ctunoptimz23977.dita" navtitle="Performance and optimization">
-<topicref href="ctunoptimz30217.dita" navtitle="Index use and access paths">
-<topicref href="ctunoptimz33368.dita" navtitle="What is an index?"></topicref>
-<topicref href="ctunoptimz39106.dita" navtitle="What's optimizable?">
-<topicref href="ctunoptimz24840.dita" navtitle="Directly optimizable predicates"
-toc="no"></topicref>
-<topicref href="ctunoptimz1004264.dita" navtitle="Indirectly optimizable predicates"
-toc="no"></topicref>
-<topicref href="ctunoptimz1004373.dita" navtitle="Joins" toc="no"></topicref>
-</topicref>
-<topicref href="ctunoptimz30768.dita" navtitle="Covering indexes">
-<topicref href="rtunoptimz1004602.dita" navtitle="Single-column index examples"
-toc="no"></topicref>
-<topicref href="rtunoptimz1004810.dita" navtitle="Multiple-column index example"
-toc="no"></topicref>
-</topicref>
-<topicref href="ctunoptimz41314.dita" navtitle="Useful indexes can use qualifiers">
-</topicref>
-<topicref href="ctunoptimz22900.dita" navtitle="When a table scan Is better">
-</topicref>
-<topicref href="ctunoptimz856914.dita" navtitle="Indexes have a cost for inserts, updates, and deletes">
-</topicref>
-</topicref>
-<topicref href="ctunoptimz12168.dita" navtitle="Joins and performance">
-<topicref href="ctunoptimz857385.dita" navtitle="Join order overview"></topicref>
-<topicref href="ctunoptimz23173.dita" navtitle="Join strategies"></topicref>
-</topicref>
-<topicref href="ctunoptimz42425.dita" navtitle="Derby's cost-based optimization">
-<topicref href="ctunoptimz32184.dita" navtitle="About the optimizer's choice of access path">
-</topicref>
-<topicref href="ctunoptimz20327.dita" navtitle="About the optimizer's choice of join order">
-<topicref href="ctunoptimz32767.dita" navtitle="Join order case study" toc="no">
-</topicref>
-</topicref>
-<topicref href="ctunoptimz11941.dita" navtitle="About the optimizer's choice of join strategy">
-</topicref>
-<topicref href="ctunoptimz27036.dita" navtitle="About the optimizer's choice of sort avoidance">
-<topicref href="ctunoptimz56859.dita" navtitle="Cost-based ORDER BY sort avoidance"
-toc="no"></topicref>
-</topicref>
-<topicref href="ctunoptimz19357.dita" navtitle="About the system's selection of lock granularity">
-<topicref href="ctunoptimz1008884.dita" navtitle="How the system makes its decision if it has a choice"
-toc="no"></topicref>
-<topicref href="ctunoptimz26019.dita" navtitle="Lock escalation threshold"
-toc="no"></topicref>
-</topicref>
-<topicref href="ctunoptimz29384.dita" navtitle="About the optimizer's selection of bulk fetch">
-</topicref>
-</topicref>
-</topicref>
-<topicref href="ctunoptimz27975.dita" navtitle="Locking and performance">
-<topicref href="ctunoptimz42065.dita" navtitle="Transaction-based lock escalation">
-</topicref>
-<topicref href="ctunoptimz11775.dita" navtitle="LOCK TABLE statement"></topicref>
-</topicref>
-<topicref href="ctunoptimz860097.dita" navtitle="Non-cost-based optimizations">
-<topicref href="ctunoptimz22460.dita" navtitle="Non-cost-based sort avoidance (tuple filtering)">
-<topicref href="ctunoptimz859947.dita" navtitle="DISTINCT">
-<topicref href="ctunoptimz1011736.dita" navtitle="Quick DISTINCT scans" toc="no">
-</topicref>
-</topicref>
-<topicref href="ctunoptimz859974.dita" navtitle="GROUP BY"></topicref>
-</topicref>
-<topicref href="ctunoptimz22111.dita" navtitle="The MIN() and MAX() optimizations">
-</topicref>
-</topicref>
-</topicref>
-<topicref href="ctunstats18908.dita" navtitle="Selectivity and cardinality statistics">
-<topicref href="ctunstats57793.dita" navtitle="Determinations of rows scanned from disk for a table scan">
-<topicref href="ctunstats848901.dita" navtitle="How the optimizer determines the number of rows in a table">
-</topicref>
-</topicref>
-<topicref href="ctunstats60669.dita" navtitle="Estimations of rows scanned from disk for an index scan">
-<topicref href="ctunstats848961.dita" navtitle="Queries with a known search condition">
-</topicref>
-<topicref href="ctunstats849000.dita" navtitle="Queries with an unknown search condition">
-</topicref>
-</topicref>
-<topicref href="ctunstats849203.dita" navtitle="Statistics-based versus hard-wired selectivity">
-<topicref href="ctunstats72938.dita" navtitle="Selectivity from cardinality statistics">
-</topicref>
-<topicref href="ctunstats52657.dita" navtitle="Selectivity from hard-wired assumptions">
-</topicref>
-</topicref>
-<topicref href="ctunstats849251.dita" navtitle="What are cardinality statistics?">
-</topicref>
-<topicref href="ctunstats46438.dita" navtitle="Working with cardinality statistics">
-<topicref href="ctunstats57373.dita" navtitle="When cardinality statistics are automatically updated">
-</topicref>
-<topicref href="ctunstats849505.dita" navtitle="When cardinality statistics go stale">
-</topicref>
-</topicref>
-</topicref>
-<topicref href="rtunproper32213.dita" navtitle="Derby properties">
-<topicref href="ctunproper51399.dita" navtitle="Scope of Derby properties">
-</topicref>
-<topicref href="ctunproper22250.dita" navtitle="Derby properties">
-<topicref href="rtunsearchauthdn.dita" navtitle="derby.authentication.ldap.searchAuthDN">
-</topicref>
-<topicref href="rtunsearchauthpw.dita" navtitle="derby.authentication.ldap.searchAuthPW">
-</topicref>
-<topicref href="rtunproper26978.dita" navtitle="derby.authentication.ldap.searchBase">
-</topicref>
-<topicref href="rtunproper37341.dita" navtitle="derby.authentication.ldap.searchFilter">
-</topicref>
-<topicref href="rtunproper13766.dita" navtitle="derby.authentication.provider">
-</topicref>
-<topicref href="rtunproper25581.dita" navtitle="derby.authentication.server">
-</topicref>
-<topicref href="rtunproper27467.dita" navtitle="derby.connection.requireAuthentication">
-</topicref>
-<topicref href="rtunproper24846.dita" navtitle="derby.database.defaultConnectionMode">
-</topicref>
-<topicref href="rtunproper81405.dita" navtitle="derby.database.forceDatabaseLock">
-</topicref>
-<topicref href="rtunproper25025.dita" navtitle="derby.database.fullAccessUsers">
-</topicref>
-<topicref href="rtunproper24390.dita" navtitle="derby.database.propertiesOnly">
-</topicref>
-<topicref href="rtunproper39325.dita" navtitle="derby.database.readOnlyAccessUsers">
-</topicref>
-<topicref href="rtunproper13217.dita" navtitle="derby.infolog.append"></topicref>
-<topicref href="rtunproper43414.dita" navtitle="derby.language.logQueryPlan">
-</topicref>
-<topicref href="rtunproper43517.dita" navtitle="derby.language.logStatementText">
-</topicref>
-<topicref href="rtunproper10607.dita" navtitle="derby.locks.deadlockTimeout">
-</topicref>
-<topicref href="rtunproper23835.dita" navtitle="derby.locks.deadlockTrace">
-</topicref>
-<topicref href="rtunproper40346.dita" navtitle="derby.locks.escalationThreshold">
-</topicref>
-<topicref href="rtunproper98166.dita" navtitle="derby.locks.monitor"></topicref>
-<topicref href="rtunproper46141.dita" navtitle="derby.locks.waitTimeout">
-</topicref>
-<topicref href="rtunproper27529.dita" navtitle="derby.storage.initialPages">
-</topicref>
-<topicref href="rtunstorminrecsize.dita" navtitle="derby.storage.minimumRecordSize">
-</topicref>
-<topicref href="rtunproper81359.dita" navtitle="derby.storage.pageCacheSize">
-</topicref>
-<topicref href="rtunproper28026.dita" navtitle="derby.storage.pageReservedSpace">
-</topicref>
-<topicref href="rtunproper40688.dita" navtitle="derby.storage.pageSize"></topicref>
-<topicref href="rtunproper34037.dita" navtitle="derby.storage.tempDirectory">
-</topicref>
-<topicref href="rtunproper33027.dita" navtitle="derby.stream.error.field">
-</topicref>
-<topicref href="rtunproper18151.dita" navtitle="derby.stream.error.file">
-</topicref>
-<topicref href="rtunproper35028.dita" navtitle="derby.stream.error.method">
-</topicref>
-<topicref href="rtunproper26985.dita" navtitle="derby.stream.error.logSeverityLevel">
-</topicref>
-<topicref href="rtunproper32066.dita" navtitle="derby.system.home"></topicref>
-<topicref href="rtunproper27355.dita" navtitle="derby.user.UserName">
-<topicref href="rtunpropercachedn.dita" navtitle="Caching user DNs"></topicref>
-</topicref>
-</topicref>
-</topicref>
-<topicref href="ctuntransform13966.dita" navtitle="Internal language transformations">
-<topicref href="ctuntransform35783.dita" navtitle="Predicate transformations">
-<topicref href="rtuntransform139.dita" navtitle="BETWEEN transformations">
-</topicref>
-<topicref href="rtuntransform208.dita" navtitle="LIKE transformations">
-<topicref href="rtuntransform345.dita" navtitle="Character string beginning with constant">
-</topicref>
-<topicref href="rtuntransform443.dita" navtitle="Character string without wildcards">
-</topicref>
-<topicref href="rtuntransform472.dita" navtitle="Unknown parameter"></topicref>
-</topicref>
-<topicref href="rtuntransform582.dita" navtitle="Static IN predicate transformations">
-<topicref href="rtuntransform866214.dita" navtitle="NOT IN predicate transformations">
-</topicref>
-</topicref>
-<topicref href="rtuntransform590.dita" navtitle="OR transformations"></topicref>
-</topicref>
-<topicref href="ctuntransform37032.dita" navtitle="Transitive closure">
-<topicref href="rtuntransform866547.dita" navtitle="Transitive closure on join clauses">
-</topicref>
-<topicref href="rtuntransform866587.dita" navtitle="Transitive Closure on Search Clauses">
-</topicref>
-</topicref>
-<topicref href="ctuntransform11313.dita" navtitle="View transformations">
-<topicref href="ctuntransform22576.dita" navtitle="View flattening"></topicref>
-<topicref href="ctuntransform36623.dita" navtitle="Predicates pushed into views or derived tables">
-</topicref>
-</topicref>
-<topicref href="ctuntransform13699.dita" navtitle="Subquery processing and transformations">
-<topicref href="ctuntransform25857.dita" navtitle="Materialization"></topicref>
-<topicref href="ctuntransform36368.dita" navtitle="Flattening a subquery into a normal join">
-</topicref>
-<topicref href="ctuntransform25868.dita" navtitle="Flattening a subquery into an EXISTS join">
-</topicref>
-<topicref href="ctuntransform47182.dita" navtitle="Flattening VALUES subqueries">
-</topicref>
-<topicref href="ctuntransform867165.dita" navtitle="DISTINCT elimination in IN, ANY, and EXISTS subqueries">
-</topicref>
-<topicref href="ctuntransform867201.dita" navtitle="IN/ANY subquery transformation">
-</topicref>
-</topicref>
-<topicref href="ctuntransform55045.dita" navtitle="Outer join transformations">
-</topicref>
-<topicref href="ctuntransform16033.dita" navtitle="Sort avoidance">
-<topicref href="ctuntransform16279.dita" navtitle="DISTINCT elimination based on a uniqueness condition">
-</topicref>
-<topicref href="ctuntransform21780.dita" navtitle="Combining ORDER BY and DISTINCT">
-</topicref>
-<topicref href="ctuntransform14044.dita" navtitle="Combining ORDER BY and UNION">
-</topicref>
-</topicref>
-<topicref href="ctuntransform41535.dita" navtitle="Aggregate processing">
-<topicref href="rtuntransform867602.dita" navtitle="COUNT(nonNullableColumn)">
-</topicref>
-</topicref>
-</topicref>
-<topicref href="rtuntrademderby.dita" navtitle="Trademarks"><?Pub Caret?>
-</topicref>
-</map>
-<?Pub *0000017192?>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- 
+Copyright 1997, 2004 The Apache Software Foundation or its licensors, as applicable.  
+
+Licensed under the Apache License, Version 2.0 (the "License");  
+you may not use this file except in compliance with the License.  
+You may obtain a copy of the License at      
+
+http://www.apache.org/licenses/LICENSE-2.0  
+
+Unless required by applicable law or agreed to in writing, software  
+distributed under the License is distributed on an "AS IS" BASIS,  
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
+See the License for the specific language governing permissions and  
+limitations under the License.
+-->
+
+<!DOCTYPE map PUBLIC "-//IBM//DTD DITA Map//EN"
+ "../dtd/map.dtd">
+<map title="Tuning Derby">
+<topicmeta>
+<copyright>
+<copyryear year="1997, 2004"/>
+<copyrholder>Apache Software Foundation</copyrholder>
+</copyright>
+<prodinfo>
+<prodname>Tuning Derby</prodname>
+<vrmlist><vrm version="10"/></vrmlist>
+<brand>Apache Derby</brand></prodinfo>
+</topicmeta>
+<topicref href="rtuncopyright.dita" navtitle="Copyright"></topicref>
+<topicref href="ctunpropref1002477.dita" navtitle="About this document">
+<topicref href="ctunpropref11181.dita" navtitle="Purpose of this document">
+</topicref>
+<topicref href="ctunpropref22460.dita" navtitle="Audience"></topicref>
+<topicref href="ctunpropref23947.dita" navtitle="How this document is organized">
+</topicref>
+</topicref>
+<topicref href="ctunsetprop34818.dita" navtitle="Working with Derby properties">
+<topicref href="ctunsetprop11108.dita" navtitle="Properties overview">
+<topicref href="ctunsetprop824451.dita" navtitle="Scope of properties"></topicref>
+<topicref href="ctunsetprop824500.dita" navtitle="Persistence of properties">
+</topicref>
+<topicref href="ctunsetprop23308.dita" navtitle="Precedence of properties">
+<topicref href="ctunsetprop824533.dita" navtitle="Protection of database-wide properties">
+</topicref>
+</topicref>
+<topicref href="ctunsetprop824615.dita" navtitle="Dynamic versus static properties">
+</topicref>
+</topicref>
+<topicref href="ctunsetprop24222.dita" navtitle="Ways of setting Derby properties">
+<topicref href="ctunsetprop16827.dita" navtitle="System-wide properties">
+<topicref href="ctunsetprop11561.dita" navtitle="Changing the system-wide properties programmatically">
+<topicref href="ctunsetprop1003847.dita" navtitle="As a parameter to the JVM command line"
+toc="no"></topicref>
+<topicref href="ctunsetprop38343.dita" navtitle="Using a properties object within an application or statement"
+toc="no"></topicref>
+</topicref>
+<topicref href="ctunsetprop13074.dita" navtitle="In the derby.properties file">
+</topicref>
+<topicref href="ctunsetprop824983.dita" navtitle="Verifying system properties">
+</topicref>
+</topicref>
+<topicref href="ctunsetprop12821.dita" navtitle="Database-wide properties">
+</topicref>
+<topicref href="ctunsetprop24843.dita" navtitle="In a client/server environment">
+</topicref>
+<topicref href="ctunsetprop44147.dita" navtitle="Dynamic or static changes to properties">
+</topicref>
+</topicref>
+<topicref href="ctunsetprop32443.dita" navtitle="Properties case study"></topicref>
+</topicref>
+<topicref href="ctunperf22457.dita" navtitle="Performance tips and tricks">
+<topicref href="ctunperf25864.dita" navtitle="The tips">
+<topicref href="ctunperf18705.dita" navtitle="Use prepared statements with substitution parameters">
+</topicref>
+<topicref href="ctunperf10679.dita" navtitle="Create indexes, and make sure they are being used">
+</topicref>
+<topicref href="ctunperf54492.dita" navtitle="Increase the size of the data page cache">
+</topicref>
+<topicref href="ctunperf10065.dita" navtitle="Tune the size of database pages">
+<topicref href="ctunperf816059.dita" navtitle="Performance trade-offs of large pages">
+<topicref href="ctunperf1004126.dita" navtitle="When large page size does not improve performance"
+toc="no"></topicref>
+<topicref href="ctunperf1004182.dita" navtitle="When large page size is not desirable"
+toc="no"></topicref>
+</topicref>
+</topicref>
+<topicref href="ctunperf23868.dita" navtitle="Avoid expensive queries"></topicref>
+<topicref href="ctunperf98197.dita" navtitle="Use the appropriate getXXX and setXXX methods for the type">
+</topicref>
+<topicref href="ctunperf16556.dita" navtitle="Tune database booting/class loading">
+</topicref>
+<topicref href="ctunperf16800.dita" navtitle="Avoid inserts in autocommit mode">
+</topicref>
+</topicref>
+<topicref href="ctunperf31086.dita" navtitle="More tips">
+<topicref href="ctunperf17936.dita" navtitle="Shut down the system properly">
+</topicref>
+<topicref href="ctunperf816635.dita" navtitle="Put Derby first in your class path">
+</topicref>
+</topicref>
+</topicref>
+<topicref href="ctundepth39739.dita" navtitle="Tuning databases and applications">
+<topicref href="ctundepth21935.dita" navtitle="Application and database design issues">
+<topicref href="ctundepth10525.dita" navtitle="Avoiding table scans of large tables">
+<topicref href="ctundepth23033.dita" navtitle="Index, index, index">
+<topicref href="ctundepth1002853.dita" navtitle="Create useful indexes" toc="no">
+</topicref>
+<topicref href="ctundepth1003116.dita" navtitle="Make sure indexes are being used, and rebuild them"
+toc="no"></topicref>
+<topicref href="ctundepth1003209.dita" navtitle="Think about index order"
+toc="no"></topicref>
+<topicref href="ctundepth1003369.dita" navtitle="Think about join order" toc="no">
+</topicref>
+<topicref href="ctundepth1003672.dita" navtitle="Decide whether a descending index would be useful"
+toc="no"></topicref>
+</topicref>
+<topicref href="ctundepth36205.dita" navtitle="Prevent the user from issuing expensive queries">
+</topicref>
+</topicref>
+<topicref href="ctundepth29804.dita" navtitle="Avoiding compiling SQL statements">
+<topicref href="ctundepth32379.dita" navtitle="Using the statement cache">
+</topicref>
+</topicref>
+<topicref href="ctundepth14326.dita" navtitle="Shielding users from Derby class-loading events">
+</topicref>
+</topicref>
+<topicref href="ttundepth33391.dita" navtitle="Analyzing statement execution">
+</topicref>
+<topicref href="ctundepth13055.dita" navtitle="Working with RunTimeStatistics">
+<topicref href="ctundepth26674.dita" navtitle="Overview"></topicref>
+<topicref href="ttundepth34375.dita" navtitle="How you use it"></topicref>
+<topicref href="ctundepth37648.dita" navtitle="Analyzing the information">
+<topicref href="ctundepth853095.dita" navtitle="Statistics timing"></topicref>
+<topicref href="ctundepth853133.dita" navtitle="Statement execution plan">
+</topicref>
+<topicref href="ctundepth853228.dita" navtitle="Optimizer estimates"></topicref>
+</topicref>
+</topicref>
+</topicref>
+<topicref href="ctunoptimz39739.dita" navtitle="DML statements and performance">
+<topicref href="ctunoptimz23977.dita" navtitle="Performance and optimization">
+<topicref href="ctunoptimz30217.dita" navtitle="Index use and access paths">
+<topicref href="ctunoptimz33368.dita" navtitle="What is an index?"></topicref>
+<topicref href="ctunoptimz39106.dita" navtitle="What's optimizable?">
+<topicref href="ctunoptimz24840.dita" navtitle="Directly optimizable predicates"
+toc="no"></topicref>
+<topicref href="ctunoptimz1004264.dita" navtitle="Indirectly optimizable predicates"
+toc="no"></topicref>
+<topicref href="ctunoptimz1004373.dita" navtitle="Joins" toc="no"></topicref>
+</topicref>
+<topicref href="ctunoptimz30768.dita" navtitle="Covering indexes">
+<topicref href="rtunoptimz1004602.dita" navtitle="Single-column index examples"
+toc="no"></topicref>
+<topicref href="rtunoptimz1004810.dita" navtitle="Multiple-column index example"
+toc="no"></topicref>
+</topicref>
+<topicref href="ctunoptimz41314.dita" navtitle="Useful indexes can use qualifiers">
+</topicref>
+<topicref href="ctunoptimz22900.dita" navtitle="When a table scan Is better">
+</topicref>
+<topicref href="ctunoptimz856914.dita" navtitle="Indexes have a cost for inserts, updates, and deletes">
+</topicref>
+</topicref>
+<topicref href="ctunoptimz12168.dita" navtitle="Joins and performance">
+<topicref href="ctunoptimz857385.dita" navtitle="Join order overview"></topicref>
+<topicref href="ctunoptimz23173.dita" navtitle="Join strategies"></topicref>
+</topicref>
+<topicref href="ctunoptimz42425.dita" navtitle="Derby's cost-based optimization">
+<topicref href="ctunoptimz32184.dita" navtitle="About the optimizer's choice of access path">
+</topicref>
+<topicref href="ctunoptimz20327.dita" navtitle="About the optimizer's choice of join order">
+<topicref href="ctunoptimz32767.dita" navtitle="Join order case study" toc="no">
+</topicref>
+</topicref>
+<topicref href="ctunoptimz11941.dita" navtitle="About the optimizer's choice of join strategy">
+</topicref>
+<topicref href="ctunoptimz27036.dita" navtitle="About the optimizer's choice of sort avoidance">
+<topicref href="ctunoptimz56859.dita" navtitle="Cost-based ORDER BY sort avoidance"
+toc="no"></topicref>
+</topicref>
+<topicref href="ctunoptimz19357.dita" navtitle="About the system's selection of lock granularity">
+<topicref href="ctunoptimz1008884.dita" navtitle="How the system makes its decision if it has a choice"
+toc="no"></topicref>
+<topicref href="ctunoptimz26019.dita" navtitle="Lock escalation threshold"
+toc="no"></topicref>
+</topicref>
+<topicref href="ctunoptimz29384.dita" navtitle="About the optimizer's selection of bulk fetch">
+</topicref>
+</topicref>
+</topicref>
+<topicref href="ctunoptimz27975.dita" navtitle="Locking and performance">
+<topicref href="ctunoptimz42065.dita" navtitle="Transaction-based lock escalation">
+</topicref>
+<topicref href="ctunoptimz11775.dita" navtitle="LOCK TABLE statement"></topicref>
+</topicref>
+<topicref href="ctunoptimz860097.dita" navtitle="Non-cost-based optimizations">
+<topicref href="ctunoptimz22460.dita" navtitle="Non-cost-based sort avoidance (tuple filtering)">
+<topicref href="ctunoptimz859947.dita" navtitle="DISTINCT">
+<topicref href="ctunoptimz1011736.dita" navtitle="Quick DISTINCT scans" toc="no">
+</topicref>
+</topicref>
+<topicref href="ctunoptimz859974.dita" navtitle="GROUP BY"></topicref>
+</topicref>
+<topicref href="ctunoptimz22111.dita" navtitle="The MIN() and MAX() optimizations">
+</topicref>
+</topicref>
+</topicref>
+<topicref href="ctunstats18908.dita" navtitle="Selectivity and cardinality statistics">
+<topicref href="ctunstats57793.dita" navtitle="Determinations of rows scanned from disk for a table scan">
+<topicref href="ctunstats848901.dita" navtitle="How the optimizer determines the number of rows in a table">
+</topicref>
+</topicref>
+<topicref href="ctunstats60669.dita" navtitle="Estimations of rows scanned from disk for an index scan">
+<topicref href="ctunstats848961.dita" navtitle="Queries with a known search condition">
+</topicref>
+<topicref href="ctunstats849000.dita" navtitle="Queries with an unknown search condition">
+</topicref>
+</topicref>
+<topicref href="ctunstats849203.dita" navtitle="Statistics-based versus hard-wired selectivity">
+<topicref href="ctunstats72938.dita" navtitle="Selectivity from cardinality statistics">
+</topicref>
+<topicref href="ctunstats52657.dita" navtitle="Selectivity from hard-wired assumptions">
+</topicref>
+</topicref>
+<topicref href="ctunstats849251.dita" navtitle="What are cardinality statistics?">
+</topicref>
+<topicref href="ctunstats46438.dita" navtitle="Working with cardinality statistics">
+<topicref href="ctunstats57373.dita" navtitle="When cardinality statistics are automatically updated">
+</topicref>
+<topicref href="ctunstats849505.dita" navtitle="When cardinality statistics go stale">
+</topicref>
+</topicref>
+</topicref>
+<topicref href="rtunproper32213.dita" navtitle="Derby properties">
+<topicref href="ctunproper51399.dita" navtitle="Scope of Derby properties">
+</topicref>
+<topicref href="ctunproper22250.dita" navtitle="Derby properties">
+<topicref href="rtunsearchauthdn.dita" navtitle="derby.authentication.ldap.searchAuthDN">
+</topicref>
+<topicref href="rtunsearchauthpw.dita" navtitle="derby.authentication.ldap.searchAuthPW">
+</topicref>
+<topicref href="rtunproper26978.dita" navtitle="derby.authentication.ldap.searchBase">
+</topicref>
+<topicref href="rtunproper37341.dita" navtitle="derby.authentication.ldap.searchFilter">
+</topicref>
+<topicref href="rtunproper13766.dita" navtitle="derby.authentication.provider">
+</topicref>
+<topicref href="rtunproper25581.dita" navtitle="derby.authentication.server">
+</topicref>
+<topicref href="rtunproper27467.dita" navtitle="derby.connection.requireAuthentication">
+</topicref>
+<topicref href="rtunproper24846.dita" navtitle="derby.database.defaultConnectionMode">
+</topicref>
+<topicref href="rtunproper81405.dita" navtitle="derby.database.forceDatabaseLock">
+</topicref>
+<topicref href="rtunproper25025.dita" navtitle="derby.database.fullAccessUsers">
+</topicref>
+<topicref href="rtunproper24390.dita" navtitle="derby.database.propertiesOnly">
+</topicref>
+<topicref href="rtunproper39325.dita" navtitle="derby.database.readOnlyAccessUsers">
+</topicref>
+<topicref href="rtunproper13217.dita" navtitle="derby.infolog.append"></topicref>
+<topicref href="rtunproper43414.dita" navtitle="derby.language.logQueryPlan">
+</topicref>
+<topicref href="rtunproper43517.dita" navtitle="derby.language.logStatementText">
+</topicref>
+<topicref href="rtunproper10607.dita" navtitle="derby.locks.deadlockTimeout">
+</topicref>
+<topicref href="rtunproper23835.dita" navtitle="derby.locks.deadlockTrace">
+</topicref>
+<topicref href="rtunproper40346.dita" navtitle="derby.locks.escalationThreshold">
+</topicref>
+<topicref href="rtunproper98166.dita" navtitle="derby.locks.monitor"></topicref>
+<topicref href="rtunproper46141.dita" navtitle="derby.locks.waitTimeout">
+</topicref>
+<topicref href="rtunproper27529.dita" navtitle="derby.storage.initialPages">
+</topicref>
+<topicref href="rtunstorminrecsize.dita" navtitle="derby.storage.minimumRecordSize">
+</topicref>
+<topicref href="rtunproper81359.dita" navtitle="derby.storage.pageCacheSize">
+</topicref>
+<topicref href="rtunproper28026.dita" navtitle="derby.storage.pageReservedSpace">
+</topicref>
+<topicref href="rtunproper40688.dita" navtitle="derby.storage.pageSize"></topicref>
+<topicref href="rtunproper34037.dita" navtitle="derby.storage.tempDirectory">
+</topicref>
+<topicref href="rtunproper33027.dita" navtitle="derby.stream.error.field">
+</topicref>
+<topicref href="rtunproper18151.dita" navtitle="derby.stream.error.file">
+</topicref>
+<topicref href="rtunproper35028.dita" navtitle="derby.stream.error.method">
+</topicref>
+<topicref href="rtunproper26985.dita" navtitle="derby.stream.error.logSeverityLevel">
+</topicref>
+<topicref href="rtunproper32066.dita" navtitle="derby.system.home"></topicref>
+<topicref href="rtunproper27355.dita" navtitle="derby.user.UserName">
+<topicref href="rtunpropercachedn.dita" navtitle="Caching user DNs"></topicref>
+</topicref>
+</topicref>
+</topicref>
+<topicref href="ctuntransform13966.dita" navtitle="Internal language transformations">
+<topicref href="ctuntransform35783.dita" navtitle="Predicate transformations">
+<topicref href="rtuntransform139.dita" navtitle="BETWEEN transformations">
+</topicref>
+<topicref href="rtuntransform208.dita" navtitle="LIKE transformations">
+<topicref href="rtuntransform345.dita" navtitle="Character string beginning with constant">
+</topicref>
+<topicref href="rtuntransform443.dita" navtitle="Character string without wildcards">
+</topicref>
+<topicref href="rtuntransform472.dita" navtitle="Unknown parameter"></topicref>
+</topicref>
+<topicref href="rtuntransform582.dita" navtitle="Static IN predicate transformations">
+<topicref href="rtuntransform866214.dita" navtitle="NOT IN predicate transformations">
+</topicref>
+</topicref>
+<topicref href="rtuntransform590.dita" navtitle="OR transformations"></topicref>
+</topicref>
+<topicref href="ctuntransform37032.dita" navtitle="Transitive closure">
+<topicref href="rtuntransform866547.dita" navtitle="Transitive closure on join clauses">
+</topicref>
+<topicref href="rtuntransform866587.dita" navtitle="Transitive Closure on Search Clauses">
+</topicref>
+</topicref>
+<topicref href="ctuntransform11313.dita" navtitle="View transformations">
+<topicref href="ctuntransform22576.dita" navtitle="View flattening"></topicref>
+<topicref href="ctuntransform36623.dita" navtitle="Predicates pushed into views or derived tables">
+</topicref>
+</topicref>
+<topicref href="ctuntransform13699.dita" navtitle="Subquery processing and transformations">
+<topicref href="ctuntransform25857.dita" navtitle="Materialization"></topicref>
+<topicref href="ctuntransform36368.dita" navtitle="Flattening a subquery into a normal join">
+</topicref>
+<topicref href="ctuntransform25868.dita" navtitle="Flattening a subquery into an EXISTS join">
+</topicref>
+<topicref href="ctuntransform47182.dita" navtitle="Flattening VALUES subqueries">
+</topicref>
+<topicref href="ctuntransform867165.dita" navtitle="DISTINCT elimination in IN, ANY, and EXISTS subqueries">
+</topicref>
+<topicref href="ctuntransform867201.dita" navtitle="IN/ANY subquery transformation">
+</topicref>
+</topicref>
+<topicref href="ctuntransform55045.dita" navtitle="Outer join transformations">
+</topicref>
+<topicref href="ctuntransform16033.dita" navtitle="Sort avoidance">
+<topicref href="ctuntransform16279.dita" navtitle="DISTINCT elimination based on a uniqueness condition">
+</topicref>
+<topicref href="ctuntransform21780.dita" navtitle="Combining ORDER BY and DISTINCT">
+</topicref>
+<topicref href="ctuntransform14044.dita" navtitle="Combining ORDER BY and UNION">
+</topicref>
+</topicref>
+<topicref href="ctuntransform41535.dita" navtitle="Aggregate processing">
+<topicref href="rtuntransform867602.dita" navtitle="COUNT(nonNullableColumn)">
+</topicref>
+</topicref>
+</topicref>
+<topicref href="rtuntrademderby.dita" navtitle="Trademarks"><?Pub Caret?>
+</topicref>
+</map>
+<?Pub *0000017192?>