Пожалуйста, объясните разницу между сжатием строк и страниц

10

Я пытаюсь определить, какое и когда применять подходящее время для применения сжатия. Я отправляю этот вопрос, чтобы получить представление от этого сообщества. Я прочитал несколько статей, но хотел иметь место, где это адресовано в Администраторы БД.

Джеральд Патриовски
источник

Ответы:

6

Это хорошая справка и объяснение сжатия строки v страницы (без каламбура): http://blogs.lessthandot.com/index.php/datamgmt/dbprogramming/how-sql-server-data-compression/

Короче говоря, сжатие страниц охватывает алгоритмы, содержащиеся в сжатии на уровне строк, а затем также охватывает сжатие префиксов и сжатие словаря. Сжатие префиксов и словарей находит шаблоны в данных и заменяет их меньшими значениями. Во время распаковки он выполнит обратное и восстановит данные до их первоначальных значений.

Уровень строк облегчает принятие решений о сжатии, например сокращение метаданных и удаление неиспользуемого пространства, например, буквы «Y», хранящейся в CHAR (1000).

В статье, на которую ссылаются, это объясняется гораздо более подробно.

Джон
источник
6

Чтобы принять решение для группы таблиц, вы можете запустить процедуру " sp_estimate_data_compression_savings ":

exec sys.sp_estimate_data_compression_savings  @Schema,@Table,NULL,NULL,ROW;
exec sys.sp_estimate_data_compression_savings  @Schema,@Table,NULL,NULL,PAGE;

Это поможет вам определить экономию для каждой конкретной таблицы.

По моему опыту, сжатие PAGE работает лучше в большинстве случаев.

Слава Мурыгин
источник