Mir ist noch kein System "in Finger" gekommen, an dem Anwender im Dialog "live" gearbeitet haben und bei dem aus Performancegründen eine Denormalisierung erforderlich war.
Ich habe mal blöderweise ein EAV-Antipattern eingesetzt (ich dachte damals, ich wäre der Größte
). Alles perfekt: 5 Tabellen, um alles darstellen zu können. Nur: Die Antwortzeiten waren nicht hinnehmbar. Ich habe eine weitere Anwendung mit wenigen Mio Datensätzen, welches beim 10.Join in die Knie geht.
Das ist aber -muss ich zugeben- schon eine Weile her. Heute packt man einfach ein paar GB mehr
RAM in den Server und dann läuft der. Außerdem lässt sich durch gutes
DB-Design (Partitioning) sehr viel erreichen.
Trotzdem bin ich bei Produktionsdaten und der 3NF mittlerweile eher pragmatisch und verstecke mein Design hinter virtuellen Tabellen und/oder SP. So kann ich mein echtes
DB-Design anpassen, wie ich lustig bin.