Dne 28.8.2014 14:54, Clemens Ladisch napsal(a):
Milan Kříž wrote:
So does it mean that the full-text search is not performed for the following 
query at all?

SELECT docId FROM ftsTable WHERE ftsTable MATCH 'a*' AND rowId IN (20,21, 22, 
23)

     SCAN TABLE ftsTable VIRTUAL TABLE INDEX 1:
     EXECUTE LIST SUBQUERY 1
No, it means that you are using a different version.

(In any case, it is not possible to execute MATCH without the FTS index.)

Thanks and sorry for bothering you with such details. But I still cannot 
understand that query plan.
Since for a simple rowid query it says:
explain query plan
select * from ftsTable where docId = 100
> SCAN TABLE ftsTable VIRTUAL TABLE INDEX 1:
It is clear to me that index 1 is definitely a rowId index.

Then for complex query above, it says:

    SCAN TABLE ftsTable VIRTUAL TABLE INDEX 1:
    EXECUTE LIST SUBQUERY 1

So where is a mention about using an FTS index (full-text query)?
Or is it just an imperfection of 'explain query plan' that the usage of the full-text index is missing from the query plan?

I use SQLite version 3.8.5 and for full table full-text search it gives a correct index according to comment in the fts3Int.h:

FTS3_FULLTEXT_SEARCH+${NUMBER_OF_COLUMNS} => VIRTUAL TABLE INDEX 18 in my 
ftsTable

Regards,
Milan

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

Reply via email to