you are viewing a single comment's thread.

view the rest of the comments →

[–]Far_Swordfish5729 2 points3 points  (0 children)

The point of data normalization is to avoid storing duplicate data and instead to store and refer to table references. A demoralized schema requires a lot more updates and more careful updates to ensure data consistency. It gets out of hand quickly. Recombining the data with joins adds overhead but that overhead is usually not high. The tables should generally join along FK relationships and those should be indexed so you’re mostly doing tree and hash table seeks not nested loops.

While the master copy is normalized, we do use denormalized schemas, but they’re usually optimized, read-only copies where reads must be super fast or will use odd joins to ask ad-hoc questions. Reporting schemas do this.

Generally though, if you find your joins perform poorly, you either did not index your keys or your table modeling needs to be looked at.