Ok, I have more info now. The database consists of multiple individual database files which are opened and closed individually each with their own connection, multiple at at time. There is a root file but its just another database file whose only purpose is to tell the application where to find the other files.
Here is an example call stack of the a high load call: rbuFindMaindb rbuVfsAccess sqlite3OsAccess hasHotJournal sqlite3PagerSharedLock zipvfsLockFile sqlite3OsLock pagerLockDb pagerLockDb pager_wait_on_lock sqlite3PagerSharedLock lockBtree sqlite3BtreeBeginTrans sqlite3VdbeExec sqlite3Step sqlite3_step <here comes the application> > Am 19.09.2018 um 22:27 schrieb Simon Slavin <slav...@bigfraud.org>: > > On 19 Sep 2018, at 8:47pm, Roger Cuypers <rcuyp...@arcor.de> wrote: > >> the database has a root file. The subfiles are all loaded via separate >> connections as far as I know. > > Sorry, but this makes no sense. Each database file can have only one WAL > file. > > You say that the program is looking through lots of WAL files. The only way > it should be doing that is if the program has lots of database files open at > the same time. If a database is not open, then SQLite does not even know its > WAL file exists. > > Does your program really have numerous database files open at one time ? > > If so, does it do that using the ATTACH command, and attaching them all to > one connection, or by opening a separate connection to each database ? > > Simon. > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users