SQLite 3.54 skips rewriting unchanged expression indexes, cutting WAL writes by up to 76%
SQLite 3.54.0, released 9 October 2026, changed UPDATE behaviour so that an expression index is left alone when the value it indexes stays the same. A tester compared the 3.54.1 point release against the prior 3.53.0 line using Linux CLI builds, updating case-only changes to lowercased emails across a 200,000-row table. On a 50,000-row update, WAL pages written fell from 2,143 to 511, a 76% reduction, and wall time dropped by roughly a third. The 511-page figure matched a table with no expression index at all, indicating the index maintenance cost was eliminated rather than merely reduced. When the indexed value actually changed, the two versions performed identically, and across the full table the reduction narrowed to 43%.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in