On Fri, Oct 31, 2014 at 8:35 AM, Alessandro Marzocchi <
alessandro.marzoc...@gmail.com> wrote:

> I think what he wants is a way to create an index on a virtual table.
>

SQLite cannot build an index on a virtual table because SQLite has no idea
if and when the content of the table will change and hence has no way of
keeping the index up-to-date.

The virtual table implementation is free to create its own indexes,
however.  The query planner uses the xBestIndex method on the virtual table
object to let the virtual table implementation know about WHERE clause
constraints and allow the virtual table to suggest appropriate (internal)
indexes to use.  This is possible because the virtual table implementation
does (presumably) know when the content of the table changes and can keep
the indexes updated.

The virtual table implementation is free to construct shadow index tables,
perhaps using WITHOUT ROWID.

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

Reply via email to