SQL Server 2008 R2: Unicode Compression

Источник: t-sql

Компрессия данных появилась ещё в SQL Server 2008, но в версии SQL Server 2008 R2 её значительно улучшили над Unicode-символами. Для примера запустим один и тот же скрипт на 2х инстансах 2008 и 2008R2 (эксперементы ставим над системной таблицей dbo.spt_values базы данных master):

 
01.SELECT @@VERSION as Version
02.GO
03.  
04.USE master
05.GO
06.  
07.ALTER TABLE dbo.spt_values REBUILD WITH (data_compression = none)
08.GO
09.  
10.EXEC sp_spaceused 'dbo.spt_values';
11.GO
12.  
13.ALTER TABLE dbo.spt_values REBUILD
14.WITH (data_compression = ROW)
15.GO
16.  
17.EXEC sp_spaceused 'dbo.spt_values';
18.GO

Результат на SQL Server 2008:

Результат на SQL Server 2008R2:

Но для большей наглядности улучшенной компрессии, создадим тестовую таблицу с повторяющимися символами (Кириллица в Юникоде)

 
01.SELECT @@VERSION as Version
02.GO
03.  
04.USE TempDB
05.GO
06.  
07.CREATE TABLE dbo.Test (val NVARCHAR(124)) WITH (data_compression = ROW)
08.GO
09.  
10.INSERT INTO dbo.Test
11.SELECT 'Я люблю пиво! Я люблю пиво! Я люблю пиво!:)))'
12.GO 100000
13.  
14.EXEC sp_spaceused 'dbo.Test';
15.GO
16.  
17.DROP TABLE dbo.Test

Результат на SQL Server 2008:

Результат на SQL Server 2008R2:


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=22676