Diese vorzeitige Optimierung bedeutet, dass Sie überhaupt nicht optimieren sollten. Ich habe mehr schrecklich schlechte Datenbanken gesehen, weil niemand die Leistung (kritisch für jedes Datenbanksystem) beim Design berücksichtigen wollte, da dies eine vorzeitige Optimierung war als jedes andere Problem beim Datenbankdesign. Quatsch, es gibt bekannte Performance-Killer, verwenden Sie sie nicht mehr als erste Wahl.
Ein weiterer Mythos ist, dass es zu schwierig ist, die Datenbank umzugestalten. Nein, aber Sie müssen überlegen, wie Sie Refactoring in der Entwurfsphase durchführen können, um es effektiv durchzuführen. Übrigens: Je länger Sie auf die Behebung dieses störenden designbasierten Leistungsproblems warten, desto schwieriger wird es, es zu beheben.
Ein weiterer böser Mythos ist, dass Datenbankdesign die OOP-Prinzipien widerspiegeln sollte. Nein, Datenbanken funktionieren mit Mengen, nicht mit OOP-Prinzipien. Einige OOP-Dinge verursachen schreckliche Performance-Probleme und andere sind in Bezug auf die Datenbank einfach nur schmerzhaft.
Schließlich sollten Sie die Datenintegrität in der Anwendung erzwingen. Datenbanken halten länger als die Anwendung und verlieren die Regeln, wenn die Anwendung ersetzt wird. Mehrere Anwendungen greifen auf sie zu, und häufig müssen direkte Abfragen ausgeführt werden, um Probleme zu beheben, die die Anwendung nicht durchlaufen. Ich habe noch nie eine Datenbank gesehen, die sich weigert, die Datenintegrität in der Datenbank mit guten Daten durchzusetzen.