Hello sales, I notice a similar thing with my databases when they get to any decent size. it seems like the first time you access them, doing anything, there's a decent startup delay and then it's fast from that time forward. Someone mentioned OS disk cache and I wonder about the internal SQLite cache too.
I'm using the library directly within a program though. C Monday, December 19, 2005, 11:17:14 AM, you wrote: stc> I think I've confused the issue a bit and the stc> aforementioned time hit might be normal given: stc> http://www.sqlite.org/lockingv3.html stc> We are using a separately developed COM DLL interface to stc> Sqlite v3: http://www.sqliteplus.com/ stc> And we can live with the journal creation time if that is what it is. stc> Tom stc> ---------------------------------------- stc> From: [EMAIL PROTECTED] stc> Sent: Monday, December 19, 2005 6:43 AM stc> To: sqlite-users@sqlite.org stc> Subject: [sqlite] multiple Db's and journal file time hit? stc> Hello stc> Recently it was written: whenever a modifying transaction starts (or rather, when it stc> has to actually write data to disk for the first time), SQLite has to stc> create a journal file for each DB involved as well as a master journal stc> file. stc> We are testing (almost ready to purchase the $180 COM stc> version) and have just noticed a 30-40 second hit at early on in stc> our program running. It happens when accessing the databases but stc> not always the same call and we are wondering if it might be stc> related to journal file start up time OR if there is some kind of stc> built-in pause or delay in the demo version. stc> Background: stc> a) We use two databases- one for a current run and one for long-term history. stc> b) The historical database has two tables with two indexes stc> (an integer (hash code) and a date column) and is set to stc> synchronous = Normal stc> c) The current-run database has one table with two indexes stc> (an integer (hash code) and another integer) and is set to stc> synchronous = OFF. Note: we blow away the current-run database stc> each time a certain process is kicked off and there is never more stc> than one current-run db-- so if the data is lost from the current stc> run it is no big deal. stc> d) It is a Win32 application and PRAGMA page_size = 4096. stc> e) System memory is 512MB and PRAGMA cache_size = 65536 stc> f) Inserts are bundled into one transaction, sometimes as stc> many as 800 at a shot before .Exec(COMMIT) is called. stc> g) No database error codes were generated. stc> h) There are no other programs running when our application stc> is running and Windows Task Manager (processes and performance) stc> shows no unusual activity. stc> Description: Program runs, inserts between 500 and 800 stc> records into the current-run db, and then at various points in stc> reads/inserts (within 10 seconds after the first big insert) the stc> 30-40 second hit will occur. stc> Important note: once that 30-40 second hit is done the stc> program runs great-- for up to 12 hours in fact doing hundreds of stc> thousands of transactions and with great speed. And it only stc> stopped after 12 hours because we completed our tests. stc> We want to buy it but are concerned about the 30-40 second hit. stc> Anyone got an idea what might be going on? stc> Thanks much, stc> Tom Nicholas stc> http://www.thntech.com -- Best regards, Teg mailto:[EMAIL PROTECTED]