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

Reply via email to