WAL (journal_mode=WAL) is ~1.26× slower than DELETE (default)
WAL is usually described as faster, but on this machine it was 26% slower. We did not isolate the cause, and this site does not publish guesses — measure it on your own storage.
Result
| Run | WAL (journal_mode=WAL) | DELETE (default) | Ratio |
|---|---|---|---|
| Run 1 | 14.253 | 11.063 | 1.29× |
| Run 2 | 13.683 | 12.942 | 1.06× |
| Run 3 | 13.800 | 10.940 | 1.26× |
Spread over 3 runs: WAL (journal_mode=WAL) CV 1.8% / DELETE (default) CV 8.3% / Ratio CV 8.2%
The statement
PRAGMA journal_mode=WAL; -- same 400-row INSERT PRAGMA journal_mode=DELETE; -- same 400-row INSERT Conditions
400 rows inserted into an 8,000-row table; `synchronous=NORMAL`, Windows 11 on NTFS.
Where this number does not apply
It can invert with a different filesystem, SSD or `synchronous` setting; on Linux ext4 the common report is the opposite. Do not generalise this number.
Reproduce
cd bench && python sqbench.py --samples 9 --out ../data/run.json