> IS_MY_BIRTHDAY returns 1 when the date is my birthday. Now, inside this 
> function, if I encounter a date greater than my birthday, then I want to tell 
> SQLite to stop searching, since the date is indexed.
>
> Is this possible? If so, how?

Even if this was possible it would be useless because you cannot say
if SQLite traverses table via index or makes just full table scan. And
in your particular case SQLite will see that there's no benefit in
using any index and will just scan the whole table.
The general advice in this case is to add column to the table which
will store the result of your function, create an index on that
additional column and then use that column in the query. In this case
SQLite will understand that it's better to use index and will use it.

Pavel

On Mon, Oct 5, 2009 at 9:24 AM, Kristoffer Danielsson
<kristoffer.daniels...@live.se> wrote:
>
> When I create my own "stored procedures" using sqlite3_create_function, I get 
> horrible performance (which I expected) even though the column of interest is 
> INDEXED.
>
>
> Consider this sample (it's stupid, but it shows my problem):
>
> SELECT * FROM MyTable WHERE IS_MY_BIRTHDAY(IndexedDate);
>
>
>
> IS_MY_BIRTHDAY returns 1 when the date is my birthday. Now, inside this 
> function, if I encounter a date greater than my birthday, then I want to tell 
> SQLite to stop searching, since the date is indexed.
>
>
>
> Is this possible? If so, how?
>
>
> Thanks.
>
> _________________________________________________________________
> Windows Live: Dina vänner får dina uppdateringar från Flickr, Yelp och Digg 
> när de skickar e-post till dig.
> http://www.microsoft.com/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:sv-se:SI_SB_3:092010
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to