Friday, March 18, 2011

Row versus Page Compression

Upaya kompresi Row untuk mengurangi ruang disk dengan menyimpan semua data fixed-panjang jenis sebagai variabel panjang, termasuk tipe data numerik. Hal ini dapat mengurangi ukuran setiap baris individu, yang memungkinkan Anda agar sesuai dengan beberapa baris pada sebuah halaman. Row kompresi metadata menggunakan kompresi untuk menggambarkan offset setiap nilai dalam baris. Namun, hal ini menghemat ruang tidak selalu tercapai. Misalnya, ketika nilai-nilai yang disimpan dalam kolom tipe tetap panjang data mengkonsumsi seluruh panjang kolom, tidak ada menghemat ruang terjadi. Bahkan, dalam skenario ini lebih banyak ruang digunakan sebagai biaya overhead metadata kompresi masih harus ditulis ke halaman.

Row kompresi tidak berpengaruh pada jenis data terkecil yang mungkin seperti tinyint, smalldatetime, tanggal dan uniqueidentifier tipe data. Hal ini juga tidak berpengaruh pada tipe data yang sudah disimpan sebagai variabel-panjang seperti varchar, nvarchar, dan varbinary. Akhirnya, khusus tipe data seperti teks, gambar, xml, meja, sql_variant, dan kursor tidak terpengaruh dengan tingkat kompresi baris. Bit tipe data selalu negatif terpengaruh karena, bersama-sama dengan overhead metadata, itu memerlukan empat bit penyimpanan sebagai lawan byte satu biasanya dibutuhkan untuk up-to kolom-delapan-bit. Kompresi Page menerapkan teknik kompresi berikut ke setiap page data :
  • Row compression
  • Prefix compression
  • Dictionary compression

No comments:

Post a Comment