On 7/15/16, Jain, Punit <punit.j...@emc.com> wrote:
> Clemens, thanks for the response. Since we are performing a join on a column
> name of a table, we cannot give a fixed value. Is there any other way to
> optimize join operations?
>

If you set up your virtual table so that it can handle queries of the
form "select * from t1 where name=?1" without doing a full table scan,
then the SQLite query planner will take care of the joins for you
automatically.




> -----Original Message-----
> From: sqlite-users-boun...@mailinglists.sqlite.org
> [mailto:sqlite-users-boun...@mailinglists.sqlite.org] On Behalf Of Clemens
> Ladisch
> Sent: Friday, July 15, 2016 5:34 PM
> To: sqlite-users@mailinglists.sqlite.org
> Subject: Re: [sqlite] Question on Join in Virtual Tables
>
> Jain, Punit wrote:
>> We have implemented virtual tables
>>
>> E.g. a query such as "select * from t1 join t2 on t1.name=t2.name"
>>
>> We tried to optimize it using xBestIndex and xFilter but to no avail.
>> We couldn't find a way to pass the value of t1.name (for each row) to
>> the filter of t2.
>
> SQLite uses nested loop joins.  You have to support lookups of the form
> "t1.name = <fixed value>" or "t2.name = <fixed value>".
>
>
> Regards,
> Clemens
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>


-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to