My main problem with point 2 in >>11 is that it adds redundant information to the database, just for a speed hack. I mean, when you start adding tables of stuff that's already in the database, you're getting close to the point where you'd have to ask yourself why you are using a database at all, and not just storing data in optimized forms in flat files or something like that.
The whole point of a database is to lump all your information in there, and then query it in various ways. Starting to second-guess it by building extra tables of the same information is inelegant and creates kind of a mess.