Hi Michael. I think you are oversimplifying a little here. The issue is neither about one particular column nor about just query performance. As I outlined in that article, even if there is no query performance penalty (but of course there is if we are talking about hundreds of MBs or even GBs), then there is still the additional time it takes to back up, additional time needed to restore, additional space needed to store the backup file(s) (even if compressed), and so on. Also, it is never just one column. When folks are not mindful of choosing reasonable minimal types, it is usually a pervasive problem.
I have done several of projects where I rebuilt tables of hundreds of millions of rows, but it was always fixing several columns in one shot (not fun writing data migration scripts to slowly copy data, including changes, into a new structure starting 5 or so days before the release because there is no down-time and the cut-over needs to be immediate). I don't recall if I took performance benchmarks, but there was no question of there being several benefits, especially when needing to rebuild indexes, etc. The more data pages that need to be managed, the longer operations will take.
Again, these issues are a matter of scale. The problem is, unless you are updating an existing app that already has tons of data, people usually just get things working, and everything looks fine for the first year or two. But many systems grow beyond initial expectations. So using TINYINT for a status code vs INT saves 3 bytes. Unlikely to grow beyond 255 status codes so that is a reasonable datatype choice. The difference is where that status code is used: in a table with 100 - 5000 records? Or a table that grows to 300 million rows in the first 3 - 5 years? It will probably be indexes, so double the actual impact of that 3 byte difference. It's not worth talking about for only 100 rows. But how often does it stay at that 100 rows? If it does, then it hurt nothing to go with TINYINT. But if it grows to millions of rows, then it is a definite benefit to have gone with TINYINT.
Take care, Solomon..