> Your first sentence above is that you "almost immediately get back all
> the results you want" then you go on to say that the "actual SELECT
> doesn't return for almost 13 additional seconds." So, what is it
> exactly that you "almost immediately get back"?

        When I run the select inside the sqlite3 command line, I get back 
all the results I'm after within a split second.  However, the actual 
command itself doesn't return for 13 additional seconds, while the entire 
table is scanned for other instances where timestamp equals the value I'm 
after.  (No additional entries exist, so no additional data is ever 
returned, but it always does this scan unless I've created an INDEX)

        To wit:

sqlite3 test.db
sqlite> SELECT * from bridge_table WHERE timestamp = 1167615600;
[within a split second I get several hundred values ending with...]
1167615600|494|8|2
1167615600|495|9|7
1167615600|496|5|21
1167615600|497|8|24
1167615600|498|6|46
1167615600|499|1|14
1167615600|500|9|31
[and here it sits for 13 more seconds, looking through the rest of the 
table for any other values where time = 1167615600, but none exist, so 
finally...]
sqlite>  [I get the prompt back once it finishes, having received no
        additional output, because there isn't any]

        It seems to me (and I might be wrong) that since the values are 
already in the database in ascending order by timestamp that SQLite is 
able to find all the results quite quickly.  However, it must then scan 
through the rest of the database on the off chance that some other rows 
exist where timestamp = 1167615600, because it doesn't know that they're 
all stored in ascending order.

        So my question is, can I avoid the need to scan the entire table 
for additional values where time = <whatever> without having to CREATE 
INDEX (and use almost 100% more disk space) if I guarantee that all rows 
are inserted with timestamp in ascending order?

        Chris


_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to