I have created a client application that is always running on a users desktop.  The application accepts user input and then uses SQLite to perform queries against a single db file.  The performance is fantastic after the initial install and frequent usage.  When the user leaves for the night and tries a query in the morning, the app hangs for 20 seconds and then finally comes back with the results.  If the user then duplicates the query immediately afterward, the query is almost instantaneous.  My suspicion is that after a period of inactivity, the os is swapping the opened db to pagefile and it just takes awhile to recreate but I thought I would see if anybody else has any thoughts.