![]() |
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.GO03. 04.USE master 05.GO06. 07.ALTER TABLE dbo.spt_values REBUILD WITH (data_compression = none) 08.GO09. 10.EXEC sp_spaceused 'dbo.spt_values'; 11.GO12. 13.ALTER TABLE dbo.spt_values REBUILD14.WITH (data_compression = ROW) 15.GO16. 17.EXEC sp_spaceused 'dbo.spt_values'; 18.GOРезультат на SQL Server 2008: Результат на SQL Server 2008R2: Но для большей наглядности улучшенной компрессии, создадим тестовую таблицу с повторяющимися символами (Кириллица в Юникоде) 01.SELECT @@VERSION as Version 02.GO03. 04.USE TempDB 05.GO06. 07.CREATE TABLE dbo.Test (val NVARCHAR(124)) WITH (data_compression = ROW) 08.GO09. 10.INSERT INTO dbo.Test 11.SELECT 'Я люблю пиво! Я люблю пиво! Я люблю пиво!:)))'12.GO 100000 13. 14.EXEC sp_spaceused 'dbo.Test'; 15.GO16. 17.DROP TABLE dbo.TestРезультат на SQL Server 2008: Результат на SQL Server 2008R2: |