Documentation updates. (CVS 2726)
FossilOrigin-Name: 6ec8883c366532948e619830ff7d9f63b79fc08b
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
C ON-clause\sterms\sin\sa\sLEFT\sJOIN\sthat\srestrict\sonly\sthe\sleft\stable,\sshould\snot\nreally\srestrict\sthe\sleft\stable\sbut\sinstead\srows\sthat\sfail\sto\smeet\sthe\scondition\nto\sbe\sjoined\swith\sNULL\srows\sfrom\sthe\sright\stable.\s(CVS\s2725)
|
C Documentation\supdates.\s(CVS\s2726)
|
||||||
D 2005-09-19T21:05:49
|
D 2005-09-20T01:36:30
|
||||||
F Makefile.in 12784cdce5ffc8dfb707300c34e4f1eb3b8a14f1
|
F Makefile.in 12784cdce5ffc8dfb707300c34e4f1eb3b8a14f1
|
||||||
F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
|
F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
|
||||||
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
|
||||||
@@ -300,7 +300,7 @@ F www/omitted.tcl 658ebdc83781ac419dc8a08b3f6cf93929023470
|
|||||||
F www/opcode.tcl 5bd68059416b223515a680d410a9f7cb6736485f
|
F www/opcode.tcl 5bd68059416b223515a680d410a9f7cb6736485f
|
||||||
F www/optimizer.tcl d6812a10269bd0d7c488987aac0ad5036cace9dc
|
F www/optimizer.tcl d6812a10269bd0d7c488987aac0ad5036cace9dc
|
||||||
F www/optimizing.tcl f0b2538988d1bbad16cbfe63ec6e8f48c9eb04e5
|
F www/optimizing.tcl f0b2538988d1bbad16cbfe63ec6e8f48c9eb04e5
|
||||||
F www/optoverview.tcl 5ff8a1c38722fa9f5cb3e1b8010f6b91c5a45693
|
F www/optoverview.tcl 28b6f114a33bfd91bbe3440611ceed6090587211
|
||||||
F www/pragma.tcl 44f7b665ca598ad24724f35991653638a36a6e3f
|
F www/pragma.tcl 44f7b665ca598ad24724f35991653638a36a6e3f
|
||||||
F www/quickstart.tcl 6f6f694b6139be2d967b1492eb9a6bdf7058aa60
|
F www/quickstart.tcl 6f6f694b6139be2d967b1492eb9a6bdf7058aa60
|
||||||
F www/speed.tcl 656ed5be8cc9d536353e1a96927b925634a62933
|
F www/speed.tcl 656ed5be8cc9d536353e1a96927b925634a62933
|
||||||
@@ -311,7 +311,7 @@ F www/tclsqlite.tcl ddcf912ea48695603c8ed7efb29f0812ef8d1b49
|
|||||||
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
|
||||||
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
|
F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
|
||||||
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
|
F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
|
||||||
P b32e9ec2480f9da2c2ea705ed3c88ca77b77cf2a
|
P ea10f9785e3c5248dafcc297f3a2c5465b6e0dba
|
||||||
R 30beedb46fba1ce2f76a3f1396f53cb5
|
R 6ad171a801eb8b84ac88c34ad2f04d27
|
||||||
U drh
|
U drh
|
||||||
Z a986dad9151bb581e7854782adc6d5e8
|
Z 23a34f97623654d558cd9b041aa96deb
|
||||||
|
|||||||
+1
-1
@@ -1 +1 @@
|
|||||||
ea10f9785e3c5248dafcc297f3a2c5465b6e0dba
|
6ec8883c366532948e619830ff7d9f63b79fc08b
|
||||||
+19
-11
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# Run this TCL script to generate HTML for the goals.html file.
|
# Run this TCL script to generate HTML for the goals.html file.
|
||||||
#
|
#
|
||||||
set rcsid {$Id: optoverview.tcl,v 1.3 2005/08/31 13:48:35 drh Exp $}
|
set rcsid {$Id: optoverview.tcl,v 1.4 2005/09/20 01:36:30 drh Exp $}
|
||||||
source common.tcl
|
source common.tcl
|
||||||
header {The SQLite Query Optimizer Overview}
|
header {The SQLite Query Optimizer Overview}
|
||||||
|
|
||||||
@@ -25,8 +25,8 @@ proc IMAGE {name {caption {}}} {
|
|||||||
puts "</center>"
|
puts "</center>"
|
||||||
}
|
}
|
||||||
proc PARAGRAPH {text} {
|
proc PARAGRAPH {text} {
|
||||||
regsub -all "/(\[^\n/\]+)/" $text {<i>\1</i>} t2
|
# regsub -all "/(\[a-zA-Z0-9\]+)/" $text {<i>\1</i>} t2
|
||||||
regsub -all "\\*(\[^\n*\]+)\\*" $t2 {<tt><b><big>\1</big></b></tt>} t3
|
regsub -all "\\*(\[^\n*\]+)\\*" $text {<tt><b><big>\1</big></b></tt>} t3
|
||||||
puts "<p>$t3</p>\n"
|
puts "<p>$t3</p>\n"
|
||||||
}
|
}
|
||||||
set level(0) 0
|
set level(0) 0
|
||||||
@@ -165,7 +165,7 @@ PARAGRAPH {
|
|||||||
virtual terms themselves never causes tests to be performed on
|
virtual terms themselves never causes tests to be performed on
|
||||||
input rows.
|
input rows.
|
||||||
Thus if the BETWEEN term is not used as an index constraint and
|
Thus if the BETWEEN term is not used as an index constraint and
|
||||||
instead must be used to test input rows, the /expr1/ expression is
|
instead must be used to test input rows, the <i>expr1</i> expression is
|
||||||
only evaluated once.
|
only evaluated once.
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -187,7 +187,7 @@ SYNTAX {
|
|||||||
PARAGRAPH {
|
PARAGRAPH {
|
||||||
The rewritten term then might go on to constraint an index using the
|
The rewritten term then might go on to constraint an index using the
|
||||||
normal rules for *IN* operators.
|
normal rules for *IN* operators.
|
||||||
Note that /column/ must be the same column in every OR-connected subterm,
|
Note that <i>column</i> must be the same column in every OR-connected subterm,
|
||||||
although the column can occur on either the left or the right side of
|
although the column can occur on either the left or the right side of
|
||||||
the *=* operator.
|
the *=* operator.
|
||||||
}
|
}
|
||||||
@@ -271,12 +271,12 @@ PARAGRAPH {
|
|||||||
}
|
}
|
||||||
PARAGRAPH {
|
PARAGRAPH {
|
||||||
Suppose the initial sequence of non-wildcard characters on the right-hand
|
Suppose the initial sequence of non-wildcard characters on the right-hand
|
||||||
side of the LIKE or GLOB operator is /x/. We are using a single
|
side of the LIKE or GLOB operator is <i>x</i>. We are using a single
|
||||||
character to denote this non-wildcard prefix but the reader should
|
character to denote this non-wildcard prefix but the reader should
|
||||||
understand that the prefix can consist of more than 1 character.
|
understand that the prefix can consist of more than 1 character.
|
||||||
Let /y/ the smallest string that is the same length as /x/ but which
|
Let <i>y</i> the smallest string that is the same length as /x/ but which
|
||||||
compares greater than /x/. For example, if /x/ is *hello* then
|
compares greater than <i>x</i>. For example, if <i>x</i> is *hello* then
|
||||||
/y/ would be *hellp*.
|
<i>y</i> would be *hellp*.
|
||||||
The LIKE and GLOB optimizations consist of adding two virtual terms
|
The LIKE and GLOB optimizations consist of adding two virtual terms
|
||||||
like this:
|
like this:
|
||||||
}
|
}
|
||||||
@@ -288,8 +288,8 @@ PARAGRAPH {
|
|||||||
tested against each input row even if the virtual terms are used to
|
tested against each input row even if the virtual terms are used to
|
||||||
constrain an index. This is because we do not know what additional
|
constrain an index. This is because we do not know what additional
|
||||||
constraints may be imposed by characters to the right
|
constraints may be imposed by characters to the right
|
||||||
of the /x/ prefix. However, if there is only a single global wildcard
|
of the <i>x</i> prefix. However, if there is only a single global wildcard
|
||||||
to the right of /x/, then the original LIKE or GLOB test is disabled.
|
to the right of <i>x</i>, then the original LIKE or GLOB test is disabled.
|
||||||
In other words, if the pattern is like this:
|
In other words, if the pattern is like this:
|
||||||
}
|
}
|
||||||
SYNTAX {
|
SYNTAX {
|
||||||
@@ -335,6 +335,14 @@ PARAGRAPH {
|
|||||||
over the older SQL89 comma-join syntax. They both end up accomplishing
|
over the older SQL89 comma-join syntax. They both end up accomplishing
|
||||||
exactly the same thing.
|
exactly the same thing.
|
||||||
}
|
}
|
||||||
|
PARAGRAPH {
|
||||||
|
Join reordering is automatic and usually works well enough that
|
||||||
|
programmer do not have to think about it. But occasionally some
|
||||||
|
hints from the programmer are needed. For a description of when
|
||||||
|
hints might be necessary and how to provide those hints, see the
|
||||||
|
<a href="http://www.sqlite.org/cvstrac/wiki?p=QueryPlans">QueryPlans</a>
|
||||||
|
page in the Wiki.
|
||||||
|
}
|
||||||
|
|
||||||
HEADING 1 {Choosing between multiple indices} multi_index
|
HEADING 1 {Choosing between multiple indices} multi_index
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user