Adding derived columns

Adding derived columns can eliminate some joins and reduce the time needed to produce aggregate values. The total_sales column in the titles table of the pubs2 database provides one example of a derived column used to reduce aggregate value processing time.

The example in Figure 6-7 shows both benefits. Frequent joins are needed between the titleauthor and titles tables to provide the total advance for a particular book title.

Figure 6-7: Denormalizing by adding derived columns

You can create and maintain a derived data column in the titles table, eliminating both the join and the aggregate at runtime. This increases storage needs, and requires maintenance of the derived column whenever changes are made to the titles table.