Projektuję bazę danych i chciałbym normalizować bazę danych. W jednym zapytaniu dołączę około 30-40 tabel. Czy to zaszkodzi wydajności strony internetowej, jeśli stanie się kiedyś bardzo popularne? To będzie główne zapytanie i będzie się nazywać w 50% przypadków. Inne zapytania, do których dołączę, dotyczą dwóch tabel.Czy normalizacja naprawdę szkodzi wydajności w witrynach o wysokim natężeniu ruchu?
Mam teraz wybór, aby normalizować lub nie normalizować, ale jeśli normalizacja stanie się problemem w przyszłości, być może będę musiał przepisać 40% oprogramowania i może to zająć dużo czasu. Czy w tym przypadku normalizacja naprawdę boli? Czy powinienem denormalizować teraz, kiedy mam czas?
Nie powinieneś ryzykować tak masowego ponownego wpisywania (40% twojego) kodu. Jeśli zaczniesz normalizować, ale z widokami, aby zapewnić abstrakcje niezbędne dla większości kodu ... to powinno to zapobiec większości zmian w kodzie, w przypadku gdy potrzebujesz denormalizacji do schematu, który twoje widoki przedstawiają jako warstwa abstrakcji. –
Pamiętaj o obciążeniu (jeśli chodzi o ilość pracy) związanym z aktualizacją zdenormalizowanych tabel - jeśli zmienisz adres klienta, zamiast zmieniać go w jednym miejscu, musisz teraz przeskanować każdy wiersz w kiedykolwiek zdenormalizowanej tabeli, aby zmienić to. Może widok jest najlepszą opcją, a jeśli to nadal jest zbyt wolne, przydziel więcej zasobów sprzętowych do bazy danych. – slugster
Chciałbym wiedzieć, dlaczego potrzebujesz przede wszystkim 30-40 stolików - i dlaczego te muszą być połączone. Nie wydaje mi się to właściwe, więc chciałbym, abyś wyjaśnił, co robią tabele. –