To zależy… dołączanie do stołów jest z natury wolniejsze niż posiadanie jednego dużego stołu, który jest „wstępnie połączony”, czyli zdenormalizowany. Jednak poprzez denormalizację spowodujesz duplikację danych, a Twoje tabele będą większe. Normalizacja jest postrzegana jako dobra rzecz, ponieważ tworzy bazy danych, które mogą odpowiedzieć na „dowolne” pytanie, jeśli jest prawidłowo wykonana, możesz zbudować selekcję, aby dostać się do swoich danych. Inaczej jest w przypadku niektórych innych form DB, a teraz są to (w większości) historyczne nieistotności, znormalizowany/relacyjny DB wygrał tę bitwę.
Wracając do twojego pytania, używanie denormalizacji w celu przyspieszenia rzeczy jest dobrze akceptowaną techniką. Zwykle najlepiej jest uruchomić bazę danych na jakiś czas, aby wiedzieć, co denormalizować, a co zostawić w spokoju. Często pozostawia się dane w „poprawnej” znormalizowanej formie i pobiera dane do zestawu zdenormalizowanych raportów stoliki na bieżąco. Jeśli ten proces jest wykonywany jako część samego raportu, dane są również zawsze aktualne.
Jako przykład nadmiernej normalizacji widziałem w przeszłości bazy danych, w których dni tygodnia i miesiące w roku były wyciągane do oddzielnych tabel – same daty zostały znormalizowane – możesz posunąć się za daleko.