Denormalise

Denormalise from area to Reader See whether you can avoid an expensive join in a high frequency function by denormalising columns from an upper table to a lower one.

For example: Copy street name and city to reader.

Attention Disadvantage of denormalisation: When the data changes in the one table, all copies in the many must be updated as well.

Example: When the street name changes all copies of the street in readers must be updated as well.

  • Focus denormalisation on data that hardly changes, such as street name. A street rarely changes name.
  • Focus on the high frequency functions that read a lot of data from various tables. (A list of subscriptions, including the address data for example).
  • Avoid fake optimisation. When you denormalise 9 data elements, but skip one essential one, the join will still be necessary.
Do not if:
  • it fails to increase performance
  • the software would get unacceptably complex.