"Simon Slavin" ...
>
> By the way, you might find that swapping the last two lines makes it 
> faster:
>
>
>> select * from A as A1, A as A2 where A1.name=A2.name and
>> A2.position between A1.position - 10 and A1.position + 10 and
>> A1.position != A2.position ;
>
> But you might not: SQLite's optimizer may already have spotted it.
>
I had opted for the other because it had fewer VM instructions and I thought 
the != condition might be a faster process than the 'between' and eliminate 
some points from being processed by 'between'. Of course, the result is 
highly dependent on the correlation of data - if every point is unique then 
the != condition is a wasteful test.

Thanks for the feedback, Simon & Igor.

Sorry, Peng, if it seems I highjacked the discussion. Hope it was helpful to 
you, too. 



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

Reply via email to