SQLite still has no table-level locks. If it does need to lock anything, it locks the whole database. Unfortunately your suggested fix doesn't help much. Because your two databases will probably be on the same disk. SQLite's calculations and procedures for handling database are extremely fast and efficient. Deciding which parts of disk must be read or written doesn't take much time. The thing that takes longest for SQLite is reading and writing to disk. And if your two databases are on the same disk they cannot be read or written at the same time. Before saying that performance should be improved, perhaps you should run some experiments and find out whether SQLite really is slow for your particular program. SQLite in WAL mode is very fast, even compared with very expensive SQL databases. This is partly because it requires no network traffic: it has no client-server model. Your program reads and writes the disk itself.