Hinrichsen, John
2014-05-07 20:51:24 UTC
$ sqlite3
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE x AS SELECT 1 AS a, 1 AS b;
sqlite> CREATE INDEX ix ON x (a);
sqlite> CREATE TABLE y AS SELECT 1 AS b;
sqlite> EXPLAIN QUERY PLAN SELECT * FROM x INNER JOIN y ON x.b=y.b;
0|0|0|SCAN TABLE x (~1000000 rows)
0|1|1|SEARCH TABLE y USING AUTOMATIC COVERING INDEX (b=?) (~7 rows)
sqlite> EXPLAIN QUERY PLAN SELECT * FROM x INNER JOIN y ON x.b=y.b WHERE
x.a = 1;
0|0|0|SEARCH TABLE x USING INDEX ix (a=?) (~10 rows)
0|1|1|SEARCH TABLE y USING AUTOMATIC COVERING INDEX (b=?) (~7 rows)
sqlite>
$ sqlite3
SQLite version 3.8.4.3 2014-04-03 16:53:12
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> CREATE TABLE x AS SELECT 1 AS a, 1 AS b;
sqlite> CREATE INDEX ix ON x (a);
sqlite> CREATE TABLE y AS SELECT 1 AS b;
sqlite> EXPLAIN QUERY PLAN SELECT * FROM x INNER JOIN y ON x.b=y.b;
0|0|0|SCAN TABLE x
0|1|1|SEARCH TABLE y USING AUTOMATIC COVERING INDEX (b=?)
sqlite> EXPLAIN QUERY PLAN SELECT * FROM x INNER JOIN y ON x.b=y.b WHERE
x.a = 1;
0|0|0|SEARCH TABLE x USING INDEX ix (a=?)
0|1|1|SCAN TABLE y
sqlite>
--
This message contains confidential information and is intended only for the
individual named. If you are not the named addressee, you should not
disseminate, distribute, alter or copy this e-mail. Please notify the
sender immediately by e-mail if you have received this e-mail by mistake
and delete this e-mail from your system. E-mail transmissions cannot be
guaranteed to be secure or without error as information could be
intercepted, corrupted, lost, destroyed, or arrive late or incomplete. The
sender, therefore, does not accept liability for any errors or omissions in
the contents of this message which arise during or as a result of e-mail
transmission. If verification is required, please request a hard-copy
version. This message is provided for information purposes and should not
be construed as a solicitation or offer to buy or sell any securities or
related financial instruments in any jurisdiction.
SQLite version 3.7.17 2013-05-20 00:56:22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE x AS SELECT 1 AS a, 1 AS b;
sqlite> CREATE INDEX ix ON x (a);
sqlite> CREATE TABLE y AS SELECT 1 AS b;
sqlite> EXPLAIN QUERY PLAN SELECT * FROM x INNER JOIN y ON x.b=y.b;
0|0|0|SCAN TABLE x (~1000000 rows)
0|1|1|SEARCH TABLE y USING AUTOMATIC COVERING INDEX (b=?) (~7 rows)
sqlite> EXPLAIN QUERY PLAN SELECT * FROM x INNER JOIN y ON x.b=y.b WHERE
x.a = 1;
0|0|0|SEARCH TABLE x USING INDEX ix (a=?) (~10 rows)
0|1|1|SEARCH TABLE y USING AUTOMATIC COVERING INDEX (b=?) (~7 rows)
sqlite>
$ sqlite3
SQLite version 3.8.4.3 2014-04-03 16:53:12
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> CREATE TABLE x AS SELECT 1 AS a, 1 AS b;
sqlite> CREATE INDEX ix ON x (a);
sqlite> CREATE TABLE y AS SELECT 1 AS b;
sqlite> EXPLAIN QUERY PLAN SELECT * FROM x INNER JOIN y ON x.b=y.b;
0|0|0|SCAN TABLE x
0|1|1|SEARCH TABLE y USING AUTOMATIC COVERING INDEX (b=?)
sqlite> EXPLAIN QUERY PLAN SELECT * FROM x INNER JOIN y ON x.b=y.b WHERE
x.a = 1;
0|0|0|SEARCH TABLE x USING INDEX ix (a=?)
0|1|1|SCAN TABLE y
sqlite>
--
This message contains confidential information and is intended only for the
individual named. If you are not the named addressee, you should not
disseminate, distribute, alter or copy this e-mail. Please notify the
sender immediately by e-mail if you have received this e-mail by mistake
and delete this e-mail from your system. E-mail transmissions cannot be
guaranteed to be secure or without error as information could be
intercepted, corrupted, lost, destroyed, or arrive late or incomplete. The
sender, therefore, does not accept liability for any errors or omissions in
the contents of this message which arise during or as a result of e-mail
transmission. If verification is required, please request a hard-copy
version. This message is provided for information purposes and should not
be construed as a solicitation or offer to buy or sell any securities or
related financial instruments in any jurisdiction.