Btw... does this 'one index' also include indexes used for joining?

Thanks
Ray

Raeldor wrote:
> 
> Hi,
> 
> Seriously... it can only use one index per query?  I tried your union
> suggestion and it works well, thank you.  I had no idea it was limited to
> a single index.
> 
> Thanks
> Ray
> 
> 
> Griggs, Donald-3 wrote:
>> 
>>  Regarding:
>>        select * from table1 where field1='x' or field2='y'
>> 
>> 
>> Hi, Ray,
>> 
>> I believe you sent two messages -- the first with "OR" and the second
>> with "AND".
>> 
>> Since your subject consistently says "OR" and your last email says "AND"
>> I'll assume you meant "AND".
>> 
>> 
>> Sqlite using a maximum of one index per table per select.
>> 
>> In order to perform your "OR" select, it must scan every the table.
>> 
>> You may want to create a compound index of both fields.
>> 
>> (Or maybe a "UNION ALL" would be fast?  You can use EXPLAIN QUERY PLAN to
>> analyze.)
>> 
>> 
>> Hope this helps,
>>     Donald
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>> 
>> 
> 
> 

-- 
View this message in context: 
http://old.nabble.com/Very-Odd...-where-field1%3D%27%27-or-field2%3D%27%27-is-slow-tp28491829p28492106.html
Sent from the SQLite mailing list archive at Nabble.com.

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

Reply via email to