When deciding whether to denormalize, you need to analyze the data access requirements of the applications in your environment and their actual performance characteristics. Some of the issues to examine when considering denormalization include:
What are the critical queries, and what is the expected response time?
What tables or columns do they use? How many rows per access?
What is the usual sort order?
What are concurrency expectations?
How big are the most frequently accessed tables?
Do any processes compute summaries?
Should you create join indexes to gain performance?