Proszę wyjaśnić różnicę między kompresją wierszy a strony

10

Próbuję ustalić, który zastosować i kiedy jest odpowiedni czas na zastosowanie kompresji. Zadaję to pytanie, aby uzyskać wgląd w tę społeczność. Przeczytałem kilka artykułów, ale chciałem mieć miejsce, w którym adresowane jest to do Administratorów DB.

Gerald Patriowski
źródło

Odpowiedzi:

6

Jest to dobre odniesienie i wyjaśnienie dotyczące kompresji wiersza v (bez słów): http://blogs.lessthandot.com/index.php/datamgmt/dbprogramming/how-sql-server-data-compression/

Krótko mówiąc, kompresja strony obejmuje algorytmy zawarte w kompresji na poziomie wiersza, a następnie obejmuje kompresję prefiksów i kompresję słownikową. Kompresja prefiksów i słowników znajduje wzorce w danych i zastępuje je mniejszymi wartościami. Podczas dekompresji zrobi to odwrotnie i przywróci dane do pierwotnych wartości.

Poziom wiersza ułatwia podejmowanie decyzji dotyczących kompresji, takich jak redukcja metadanych i usuwanie nieużywanego miejsca, np. Litery „Y” zapisanej w CHAR (1000).

Przywołany artykuł wyjaśnia to znacznie bardziej szczegółowo.

Jan
źródło
6

Aby podjąć decyzję dotyczącą kilku tabel, możesz uruchomić procedurę „ 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;

Pomoże Ci to określić oszczędności dla każdego konkretnego stołu.

Z mojego doświadczenia wynika, że ​​kompresja PAGE działa lepiej w większości przypadków.

Slava Murygin
źródło