Maybe the query analyzer isn't smart enough to do two seeks in this case, so it 
does a scan?

> -----Original Message-----
> From: sqlite-users-boun...@sqlite.org [mailto:sqlite-users-
> boun...@sqlite.org] On Behalf Of Steinar Midtskogen
> Sent: Friday, April 13, 2012 3:00 PM
> To: sqlite-users@sqlite.org
> Subject: [sqlite] Why are two select statements 2000 times faster than
> one?
> 
> Hello,
> 
> I have a table with "unix_time" as primary key and I want to get the
> minimum and maximum values of "unix_time".  When I do:
> 
>   SELECT min(unix_time), max(unix_time) from table;
> 
> it is very slow.  It takes about 250ms, nearly everything in the
> step() call.
> 
> However, if I do:
> 
>   SELECT min(unix_time) FROM table; SELECT max(unix_time) FROM table;
> 
> to get the same values, it takes a fraction of the time.  The speedup
> is more than 2000x.
> 
> Why?
> 
> --
> Steinar
> _______________________________________________
> 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