Compress Blob

UTL_COMPRESS

Oracle ile gelen UTL paketlerinden UTL_COMPRESS paketindeki fonksiyonlardan bahsetmek istiyorum.

Bu paket içerisinde LZ_COMPRESS ve LZ_UNCOMPRESS fonksiyonları ve bu fonksiyonların farklı sürümleri ile sıkıştırma işlemlerini yapabiliyor. Hem select cümlelerinde hemde PL/SQL tarafında aşağıda belirtilen tipler için
Lempel-Ziv sıkıştırma algoritması kullanılarak sıkıştırma yapılabiliyor.

  • raw
  • blob
  • bfile

bu fonksiyonları kullanmak oldukça kolay. blob içeren tablolarınızdan birinde aşağıdaki gibi bir deneme yapabilirsiniz.

 
ALTER TABLE atable ADD compressed_data blob;
UPDATE atable SET compressed_data=utl_compress.lz_compress(DATA);
 

data sonrada sıkıştırma ile blob alanın boyutunu ne kadar olduğunu görebilmek için DBM_LOB paketindeki
GETLENGTH fonksiyonunu kullanabilirsiniz.

 
SELECT DBMS_LOB.GETLENGTH(DATA) ,DBMS_LOB.GETLENGTH(compressed_data) FROM atable;
 

sıkıştırılmış verinin açılması için UTL.LZ_UNCOMPRESS kullanılıyor.

 
SELECT utl_compress.lz_uncompress(compressed_data) FROM atable;
 
bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark
tabs-top

2 Comments »

  1. PHP ORACLE ve LOB Tipler hakkındaki makalemide okuyabilirsiniz.

    comment-bottom
  2. teşekkürler Berkant bey en kısa zamanda deniyecem.

    comment-bottom

RSS feed for comments on this post. TrackBack URL

Leave a comment