Database / SQLite Interview questions
What is the difference between WAL mode and rollback journal mode?
Both are journaling strategies SQLite uses to guarantee atomicity and crash recovery, but they take different approaches to how changes are recorded before being made permanent.
| Rollback journal (default) | WAL (Write-Ahead Log) |
| Copies original data to a journal file before overwriting it in place. | Writes new data to a separate WAL file; the main database file is only updated later, at checkpoint. |
| Readers and writers block each other during a write. | Readers can proceed concurrently with a single ongoing writer. |
| Simpler, well-established default behavior. | Better concurrency for read-heavy, mixed workloads. |
PRAGMA journal_mode = WAL;
WAL mode is generally the better choice for applications with any meaningful concurrent read/write activity, while the traditional rollback journal remains SQLite's conservative, backward-compatible default.
More Related questions...