Keith / Simon, thanks to both of you for those detailed replies but I'll need a bit of time to digest them.
It may seem I'm a bit OCD trying to save a few microseconds here and there but this is to do with a thread I started a while back regarding getting a list of RowIDs pointing to the query results where the query consists of a BaseTbl linked to lookup tables. As I said on that thread I consider the time taken to run a query to be equal to the time taken to compile that list of RowIDs. Thereafter a page of results can be obtained pretty much instantaneously by linking the appropriate RowIDs with a subsection of the original query. In that thread I was storing the RowIDs in a vector but this thread is about testing storing them in a temp table. It isn't as fast as the vector but there isn't a great deal of difference until you get into the millions of records and (I'm hoping) to remove any dependency on RAM. I have a well known sqlite browser on my laptop. If I view my largest table (2.4 million recs) in a grid in this browser the top page appears with the counter showing 'record 1 of at least x' alongside a vertical scrollbar that doesn't work properly (it can't because it doesn't have the record count). If I click 'Last record' in the navigation bar it takes almost 3 secs for the last page to appear. Even then the vertical scrollbar doesn't work properly. It's all pretty ugly. In contrast I can get a list of all the RowIDs for that table in approx. 0.6 secs, show an accurate record counter / vertical scrollbar and navigate to any point in the table in microseconds. That's in win64 with an SSD based DB but it's still well worth it in win32 with a hard drive. -- Sent from: http://sqlite.1065341.n5.nabble.com/ _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users