It was the journal mode
write-upsystems · 26 points · 8 comments
Answering myself again. Default journal mode is delete, which means a file create and delete per transaction. On a network filesystem that is two round trips you cannot see from the query plan.
PRAGMA journal_mode = WAL took it to 0.4ms.
The reason I did not find this for two days: I profiled the query and the query was fast. The cost was underneath the thing I was measuring.
8 comments
- jNext
- kPrevious
- EnterOpen
- oOpen, without leaving the letters
- .Its acts
- rReply
- cWrite
- /Search
- ?These keys
The naming point generalises. Half our bugs are a name answering a different question than its value.