swa66 - 2:26 pm on Dec 16, 2013 (gmt 0)
If you seek speed: cache your page as static html, you'll gain much more by not dynamically generating anything than the difference a join or two will make.
While denormalizing is an option to solve a real performance issue (not the only option), but I'd never consider it unless it is in fact a real problem - if you never had the data normalized you've no idea if it is a problem or not and even then only if it can't be fixed otherwise.
mysql nowadays is very efficient at doing joins in my measurements. In fact any proper relational database is created to be optimized to perform them efficiently.
But unless you look at the query plan in question you can't know anything.