Florian Weimer <fwei...@bfk.de> writes: > * Philip Martin: > >> An SQLite read blocks SQlite writes by other threads/processes, so >> the long lived select may cause writes to fail that would otherwise >> succeed. > > AFAIK, such blocking only happens inside SQLite if you are not in WAL > mode and the write transaction has outgrown its cache size.
WAL has limits, it doesn't work on network disks for example. In the absence of WAL the cache only delays the block, when the write commits it still requires an exclusive lock. -- Philip