Pavel,

Thank you for your reply.  Does data get cached even though I am never 
executing a select statement?

Here's the real world problem:  I am trying to write a service that updates 124 
simple SQLite databases every minute.  The service is written in C#, using 
Visual Studio 2008 and the SQLite ADO.Net Provider 2.0 library from PHX 
Software.  The databases are identical in structure.  There are six tables, of 
which five are very small.  Those tables are the only ones that are ever read, 
and they're only read once, when the service starts up.  The sixth table 
contains three columns.  It is never read.  Every minute, one row is added to 
that table.  The service constantly increases its memory consumption.  Because 
this is a service, unbounded memory growth is not acceptable.  I have commented 
out the call to the SQLiteCommand.ExecuteNonQuery() method.  In that case, the 
service's memory footprint is constant.  Therefore, the problem is either in 
the provider or in SQLite itself.


I am sure that SQLite has been used many times in Windows services and other 
persistent applications.  What is the preferred technique for avoiding this 
unbounded memory growth?  Do I have to close my databases at the end of my loop 
and then reopen them at the start of the next loop?

Thanks again to you and to all who are able to advise me.

RobR


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

Reply via email to