Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Normalizacja bardzo dużego stołu

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wyświetlić CAŁY tekst z ntext lub nvarchar(max) w SSMS?

  2. Uzyskaj status zadania SQL Server

  3. Używanie SQL Server jako kolejki DB z wieloma klientami

  4. Nie można znaleźć serwera „DB name” w sys.servers (nie problem z dbo)

  5. SQL Server 2008 R2 — Dynamic Pivot/Unpivot z (przenoszeniem) dat