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]

Reply via email to