Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Нормализиране на изключително голяма маса

Ще откриете други ползи от нормализирането на данните освен скоростта на заявките, изпълнявани срещу тях... като размер и поддръжка, които сами по себе си трябва да оправдаят нормализирането им...

Въпреки това вероятно също така ще подобри скоростта на заявките; в момента наличието на един ред, съдържащ 300 текстови колони, е огромно и почти сигурно е над Ограничение от 8060 байта за съхраняване на страницата с данни за ред ... и вместо това се съхранява в ROW_OVERFLOW_DATA или LOB_DATA Разпределителни единици.

Чрез намаляване на размера на всеки ред чрез нормализиране, като например замяна на излишни текстови данни с TINYINT външен ключ и чрез премахване на колони, които не зависят от първичния ключ на тази голяма таблица, в друга таблица, данните вече не трябва да препълват и вие също ще можете да съхранявате повече редове на страница.

Що се отнася до допълнителните разходи, добавени чрез изпълнение на JOIN за да получите нормализираните данни... ако правилно индексирате вашите таблици, това не трябва да добавя значително количество режийни разходи. Ако обаче добави неприемливо натоварване, можете избирателно да денормализирате данните, ако е необходимо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да използвате SignalR в уеб ферма, като използвате Sql сървър като задна платка

  2. Задача на SQL Agent:Определете колко време работи

  3. Може ли Microsoft да съхранява полета с три стойности в един бит?

  4. Кумулираща стойност на текущия ред + сбор от предишни редове

  5. Защо вмъкване-избиране към таблица с променлива от XML променлива толкова бавно?