SQL Server 2016 – GZIP COMPRESS ve DECOMPRESS Fonksiyonları

sqlserver2016

COMPRESS ve DECOMPRESS SQL Server 2016 ile birlikte gelen yeni fonksiyonlardır. Fonksiyon isimlerinde de anlaşılacağı üzere sıkıştırma ve çözme (sıkıştırılan veriyi açma) fonksiyonlarıdır. Bu makalede her iki fonksiyonun kullanımı inceleyeceğiz.

COMPRESS fonksiyonu kendisine verilen veriyi GZIP algoritması ile sıkıştırarak geriye binary veri türü olan Varbinary(max) veri türü dönüşü yapmaktadır.

DECOMPRESS fonksiyonu GZIP algoritması ile sıkıştırılmış veriyi çözmek/açmak için kullanılır. GZIP algoritması ile sıkıştırılan veri DECOMPRESS fonksiyonu ile geri dönüştürme işlemi sonrası yine COMPRESS fonksiyonunda olduğu gibi Varbinary(max) veri türü dönüşü yapmaktadır. DECOMPRESS edilen veriyi ilk haline, sıkıştırılmadan önceki haline dönüştürmek için “explicit conversion“,”Cast” işlemi yapmamız gerekiyor.
COMPRESS ve DECOMPRESS fonksiyonları standart GZIP algoritmasını kullanmaktadır. Uygulama katmanında veriyi sıkıştırıp SQL Server’a gönderebilir, Sql Server 2016 üzerinde sıkıştırılan veri direk veritabanına yazılabilir veya veri decompress edilip veritabanına yazılabilir. Aynı şekilde Uygulama katmanına sql server üzerinden gelen compress edilmiş veri uygulama katmanı üzerinden decompress edilebilir.

Şimdi örnekler üzerinden bu iki fonksiyonun kullanımına geçelim.

Software Developer - Mesut GÜNEŞ
1
SELECT COMPRESS('Mesut Güneş')

sql_server_compress

Şimdi sıkıştırılan veriyi geri dönüştürmek için DECOMPRESS fonksiyonumuzu kullanalım.

Software Developer - Mesut GÜNEŞ
1
SELECT DECOMPRESS(0x1F8B0800000000000400F34D2D2E2D5170FF9397FA0F004F3025550B000000)

sql_server_Decompress

Sorgu sonucundan da anlaşılacağı gibi DECOMPRESS fonksiyonu da bize binary data döndürdü. Gerçek verimize ulaşmak için sorgu çıktısındaki Binary veriyi castetmemiz gerekiyor.

Software Developer - Mesut GÜNEŞ
1
SELECT CAST(0x4D657375742047FC6E65FE AS VARCHAR(MAX))

sql_server_cast

Sorgu çıktısında görüldüğü üzere decompress fonksiyonundan gelen verimizi cast işlemin tabi tuttuktan sonra sıkıştırılmamış değerine ulaştık.

Şimdi bir örnek daha yapalım ve makalemizi bitirelim. Bu örnek sorguda tek Selectifadesinde hem Compress hem Decompress fonksiyonlarının kullanımına gözatalım.

Software Developer - Mesut GÜNEŞ
1
2
3
4
5
6
DECLARE @CompressValue VARCHAR(MAX) ='MESUT GÜNEŞ'
 
SELECT @CompressValue AS CompressValue,
COMPRESS(@CompressValue) AS CompressedValue,
DECOMPRESS(COMPRESS(@CompressValue)) AS DeCompressedValue,
CAST(DECOMPRESS(COMPRESS(@CompressValue)) AS VARCHAR(MAX)) AS CASTValue

all_selecct

 

Yazıyı beğendiyeseniz sosyal medyada paylaşabilirsiniz.

Yazar Hakkında

Avatar
Mesut Güneş

Dogan Online Database Administrator

cialis generic kamagra gel cheap cialis uk levitra uk cialis generic kamagra gel kamagra 100mg cheap cialis uk cheap levitra uk cheap cialis kamagra 100mg cialis tadalafil kamagra oral jelly cialis buy viagra generic levitra uk kamagra gel cialis generic cheap levitra cheap viagra uk

Yorumlar

Yorum Yazın

.com

Bülten Üyeliği

Güncel eğitim ve etkinliklerden ilk haberdar olmak için ücretsiz abone olun.

Login

Login olmak için kullanıcı adınızı ve şifrenizi giriniz.

Şifremi Unuttum

×

Hızlı İletişim

Her konuda bana yazabilirsiniz. En kısa zamanda cevap vereceğim.

×