Hi, I response to the problems regarding long access times for very large queries (as compared to MS Access:
I ran into a similar problem populating Microsoft controls from an SQLite query. The query returned approximately .5MB of data - typical display objects included datagrids, richtextboxes and listviews. I found the first 30% of the query loaded quite quickly, but at the 35%-40% mark, performance started to really "bog down". I separated the modules, timed the specific operations and found the following; - SQLite consistantly returned the query in the expected time (in fact below the expected average) - the data controls seemed to "constrict" as data increased above 200K per query. I was able to greatly save time by separating the query results into packets of less than 200K (the test machine has approx 380K RAM). My investigation points to the virtual memory paging algorithm inherent in the Windows architecture. You will find that MS Access also pages very slowly if you create a .5MB disconnected recordset (using ADO) and attach it to any MS display object. I will be testing on Linux (using PowerBasic) in the coming months. So far, SQLite definitely is performing "as advertised". It is not fair to compare Access to SQLite (SQLite wins easily) since MS Access has a heavy connection overhead. But I was able to get rid of the "jerkiness" (experienced when scrolling very large queries with MSAccess) by paging the SQLite correctly. The time to actually access the data from disk (using SQLite) represented about 3% of the total time required to query, access and display the recordset data. NOTE: VERY IMPORTANT: I still did not have the performance I wanted until I added BEGIN; and COMMIT; to the query (it's in the documentation!) I dropped the time required to process the query by 2000% (over 20 times) with this simple solution. I look forward to your comments. Sincerely, Ed Porter Sincerely, Ed Porter --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]