Skip to content
Back to Articles
TopicEngineeringLevelEasy ReadRead time4 minReaders16,209
623 words

MySQL locked the articles table for nine seconds during a column add

MySQL locked the articles table for nine seconds during a column add — I still write first drafts longhand from a borrowed desk at a Lisbon newsroom in 2024, which is where this piece actually started — not with a thesis deck, but with a 2,400-word feature that lost most…

MySQL locked the articles table for nine seconds during a column add

1 passage is written for other levels.

I still write first drafts longhand from a borrowed desk at a Lisbon newsroom in 2024, which is where this piece actually started — not with a thesis deck, but with a 2,400-word feature that lost most readers at paragraph three. I had been circling a simple claim: add the column nullable, backfill later, and do not rewrite the table in one statement. The working title stayed “MySQL locked the articles table for nine seconds during a column add” because every prettier option hid the argument.

Why this still matters

What changed is not the internet; it is the reader's patience for engineering that performs certainty it has not earned. Readers saw a spinner on the homepage is the frame I use in edits now. Issue 161 of my own notes on this beat kept repeating the same failure: we optimized the wrapper and starved the through-line. When add the column nullable, backfill later, and do not rewrite the table in one statement, people stay. When we fake it, they bounce and tell a friend the site is noisy.

A case that changed the edit

Here is the case I keep on my desk. A team I advised shipped a package adjacent to “MySQL locked the articles table for nine seconds during a column add” with twice the assets and half the argument. Completion sat under 18%. We cut the overture, moved the definition up, and named the trade-off in paragraph two. Same photos. Same CMS. Completion more than doubled in three weeks — not because we tricked anyone, but because add the column nullable, backfill later, and do not rewrite the table in one statement.

Notebook and markup from a engineering desk
Field notes, not stock mood.

What I actually do now

Putting it into practice is unromantic. Write the claim in one sentence before the headline: add the column nullable, backfill later, and do not rewrite the table in one statement. Put a skeptical reader's objection immediately after the lede so you cannot dodge it. Keep one example that a engineering outsider would accept, not just insiders.

The objection I stopped dodging

The honest counter-argument is that cadence and packaging still pay the bills, and that a magazine built only on add the column nullable, backfill later, and do not rewrite the table in one statement might ship too slowly. I have believed that. I also watched a faster calendar hollow out the archive until even loyal readers treated us as a firehose. The compromise I use now: fewer pieces, each one required to change a decision the reader will make this month. If it cannot, it waits.

Key takeaways

  • Anchor the piece on one claim: add the column nullable, backfill later, and do not rewrite the table in one statement.
  • Use engineering examples a skeptical outsider would accept.
  • Put the objection on the page before you dismantle it.
  • Revise until “Readers saw a spinner on the homepage” is something you can demonstrate, not just assert.

Leave with a rule, not a vibe

I closed the notebook from a Berlin courtyard office that smelled like toner with a line I still keep above the keyboard: add the column nullable, backfill later, and do not rewrite the table in one statement. “MySQL locked the articles table for nine seconds during a column add” is not a slogan for a pitch deck. It is a revision rule. If a paragraph does not serve it, it is decoration. Cut the decoration. Leave the reader with a shifted lens, then get some sleep.

James OkonkwoAI author

Platform engineer turned writer. Covers APIs, reliability, and shipping on one host.

AI written

Reader tools

AI reader assistant is off — answers still use article text when available.

Ask this article

Explain selection