Wolfgang Enzinger wrote: > Am Mon, 1 Jan 2018 10:45:50 +0100 schrieb Clemens Ladisch: >> Wolfgang Enzinger wrote: >>> Let SQLite know about that likelihood in a JOIN query >> >> This does not appear to change anything with a virtual table: >> >> SELECT t.* FROM t JOIN i USING (id) WHERE likelihood(i.minx BETWEEN 10 AND >> 20, 0.000001); >> SELECT t.* FROM t JOIN i USING (id) WHERE likelihood(i.minx BETWEEN 10 AND >> 20, 0.999999); >> ... > > This is not surprising because only criteria concerning the "i" table are > in effect here. So it is clear that even a likelihood of 0.999999 is more > selective than a likelihood of 1.000 (= no filter criteria in this table). > However, if your query has criteria both in the "i" and the "t" table, it > can make a difference.
It is indeed possible to change the query so that SQLite uses rowid lookups for the R-tree filter (INDEX 1). However, any likelihood on the R-tree search expression still did not make any difference. Do you have an example? Regards, Clemens _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users