*** 116,122 **** SQLite optimizer looks first for a table in the join that requires the least amount of work to be processed. This table becomes the outer loop. Then SQLite looks for the next easiest table to ! process when becomes the next loop, and so forth. In the event of a tie, the order of the tables in the original FROM clause becomes the tie breaker. --- 116,122 ---- SQLite optimizer looks first for a table in the join that requires the least amount of work to be processed. This table becomes the outer loop. Then SQLite looks for the next easiest table to ! process which becomes the next loop, and so forth. In the event of a tie, the order of the tables in the original FROM clause becomes the tie breaker. *************** *** 124,133 **** considers such factors as the availability of indices, whether or not the use of indices will obviate the need to sort, and how selective an index is. Some indices might reduce a search from ! a million rows down to a thousand rows. Other indices might reduce the search down to a single row. The latter indices would be preferred, of course. The purpose of the ANALYZE command is ! to gather statistics on how selective an index is. Beginning in version 3.2.6, there is an experimental command that will display a synopsis of the query plan chosen. Recall that by prepending --- 124,135 ---- considers such factors as the availability of indices, whether or not the use of indices will obviate the need to sort, and how selective an index is. Some indices might reduce a search from ! a million rows down to a few thousand rows. Other indices might reduce the search down to a single row. The latter indices would be preferred, of course. The purpose of the ANALYZE command is ! to gather statistics on how selective an index is so that it can ! make an informed guess about which indices will reduce the search ! to thousands of rows versus one or two rows. Beginning in version 3.2.6, there is an experimental command that will display a synopsis of the query plan chosen. Recall that by prepending