The database went on a diet
1.5 GB became 430 MB. Finished matches were carrying a frozen copy of both full teams forever; now match history keeps what matters and lets the rest go.
Every finished match was keeping a frozen snapshot of both complete 53-Glødkin teams plus its entire final game state - data nothing ever read again once the result was settled. It had quietly become 82% of the entire database, growing by hundreds of megabytes a month.
The fix distinguishes history from evidence. The match row, its result, the scores and the round-by-round log stay forever - that’s history, and it’s tiny. The frozen team snapshots get seven days (long enough for any dispute or debugging) and are then cleared, with team data compressed by a codec built for the purpose in the meantime.
1,544 MB became 430 MB in one evening, and the monthly growth curve bent from “alarming” to “boring”. Boring is the goal for databases.