

 Database Design: How Table Normalization Can Improve Performance - smanek
http://www.ddj.com/architect/186701027

======
edw519
I dunno. _Performance_ is comprised of many factors, I'm not so sure that
table normalization is one of them.

Table normalization is meant to improve _data integrity_ , not performance.

In many cases where reads outnumber writes, backing off 4th normal form and
even 3rd normal form by replicating data can significantly improve
performance. Author does mention this as "semi-normalization".

~~~
DenisM
Normalization/denormalization is like creating/dropping indexes - it changes
physical data layout without changing data model.

Either one of the four can and does in some circumstances increase or hinder
performance.

For exmample: if you drop all indexes, queries that depend on it become slow.
If you create an index on every column it will take longer for optimizer to
consider all possible strategies, and it will take longer to maintain indexes.

If you copletely denormalize your data you may see increased read performance
since there will be less need to do joins. Or you may see decreased read
performance because now your data tkaes more space on disk and you do more IO.

So, yes normalization/denormalizarion is a valid performance optimization
technique. It also happens to carry with it the risk of violating data
integrity which must be guarded against.

