Znajdziesz inne korzyści z normalizacji danych, oprócz szybkości uruchamianych zapytań... takie jak rozmiar i łatwość utrzymania, które same w sobie powinny uzasadnić normalizację...
Jednak prawdopodobnie poprawi to również szybkość zapytań; obecnie pojedynczy wiersz zawierający 300 kolumn tekstu jest ogromny i prawie na pewno przekracza 8060 bajtów limitu do przechowywania strony danych wiersza
... i zamiast tego jest przechowywany w ROW_OVERFLOW_DATA
lub LOB_DATA
Jednostki alokacji.
Zmniejszając rozmiar każdego wiersza poprzez normalizację, np. zastępując nadmiarowe dane tekstowe TINYINT
klucz obcy, a także poprzez usunięcie kolumn, które nie są zależne od klucza podstawowego tej dużej tabeli, do innej tabeli, dane nie powinny już być przepełnione, a także będziesz mógł przechowywać więcej wierszy na stronie.
O ile narzut dodany przez wykonanie JOIN
aby uzyskać znormalizowane dane... jeśli poprawnie zindeksujesz swoje tabele, nie powinno to spowodować znacznego obciążenia. Jeśli jednak doda to niedopuszczalne obciążenie, możesz w razie potrzeby selektywnie denormalizować dane.