Satır sıkıştırma uygulama
Bu konuda özetler nasılDatabase Engineuygulayan satır sıkıştırma.Bu Özet, verileriniz için gereken depolama alanı planlamanıza yardımcı olması için temel bilgiler sağlar.
Etkinleştirme sıkıştırma, yalnızca bir veri türü ancak değil, sözdizimi veya mantığı ile ilişkili verileri fiziksel depolama alanı alanı biçimini değiştirir.Sıkıştırma için bir veya birkaç tablo etkinleştirildiğinde uygulama değişikliği gerekli değildir.Yeni kayıt depolama biçimi aşağıdaki ana değişiklikler şunlardır:
Bu kayıtla ilişkili meta veriler yükünü azaltır.Bu meta veriler, sütun, uzunluk ve uzaklık hakkında bilgidir.Bazı durumlarda, meta veriler yükü eski depolama biçimi büyük olabilir.
Sayısal türler için değişken uzunlukta depolama biçimini kullanır (örneğin integer, decimal, ve float) sayısal dayalı türleri (örneğin datetimeve money).
Sabit karakter dizeleri boş karakterler depolama değişken uzunluklu biçimi kullanılarak depolanır.
Not
null ve tüm veri türleri üzerinde 0 değerleri getirilir ve hiçbir bayt gerçekleştirin.
Satır sıkıştırma depolama nasıl etkiler
Aşağıdaki tablo satır sıkıştırma, varolan türlerini nasıl etkileyeceğini açıklarSQL Server.Tabloyu sayfa sıkıştırması kullanılarak elde edilebilir tasarrufu içermez.
Veri türü |
Depolama etkilenir mi? |
Açıklama |
---|---|---|
tinyint |
Hayır |
1 bayt gerekli en az depolama olur. |
smallint |
Evet |
Değer 1 bayt sığıyorsa, yalnızca 1 bayt kullanılır. |
int |
Evet |
Yalnızca gerekli olan bayt kullanır.Örneğin, 1 bayt değeri saklanır, yalnızca 1 bayt depolama sürer. |
bigint |
Evet |
Yalnızca gerekli olan bayt kullanır.Örneğin, 1 bayt değeri saklanır, yalnızca 1 bayt depolama sürer. |
decimal |
Evet |
Bu depolama vardecimal depolama biçiminde tam olarak aynı olur.Daha fazla bilgi için bkz: Decimal veri değişken uzunluk depolama. |
numeric |
Evet |
Bu depolama vardecimal depolama biçiminde tam olarak aynı olur.Daha fazla bilgi için bkz: Decimal veri değişken uzunluk depolama. |
bit |
Evet |
Bu meta veriler ek yük için 4 bit getirir. |
smallmoney |
Evet |
Tamsayı veri gösterimi kullanılarak 4 baytlık bir tamsayı kullanır.Para birimi değeri 10000 ile çarpılır ve elde edilen tamsayı, ondalık noktadan sonra bir basamak kaldırarak saklanır.Bu tür bir depolama iyileştirme tamsayı türleri için benzer vardır. |
money |
Evet |
8-Bayt tamsayı kullanarak tamsayı veri gösterimi kullanır.Para birimi değeri 10000 ile çarpılır ve elde edilen tamsayı, ondalık noktadan sonra bir basamak kaldırarak saklanır.Bu tür olan daha büyük aralıksmallmoney.Bu tür bir depolama iyileştirme tamsayı türleri için benzer vardır. |
float |
Evet |
Least significant bytes with zeros are not stored.float compression is applicable mostly for nonfractional values in mantissa. |
real |
Evet |
Least significant bytes with zeros are not stored.real compression is applicable mostly for nonfractional values in mantissa. |
smalldatetime |
Hayır |
Tamsayı veri gösterimi kullanılarak iki 2 baytlık tamsayı kullanır.Tarih 2 bayt kullanır.1/1/1901 İtibaren gün sayısıdır.Bu, 1902 ' başlayarak 2 bayt gerektirir.Bu nedenle, yok yok tasarruf noktayı sonra. Saat gece yarısından itibaren dakika sayısıdır.İkinci bayt kullanmak, biraz sonra 4'de saat değerleri başlatın. , Birsmalldatetimeyalnızca tarih ifade etmesi için kullanılır (bir ortak durum), 0.0 geldi.Sıkıştırma, 2 bayt satır sıkıştırma için en önemli bayt biçiminde saat depolayarak kaydeder. |
datetime |
Evet |
Tamsayı veri gösterimi kullanılarak iki 4 baytlık tamsayı kullanır.Tamsayı değeri, 1/1/1900 temel tarih olan gün sayısını gösterir.İlk 2 bayt 2079 yıl kadar gösterebilir.Noktayı kadar sıkıştırma her zaman burada 2 bayt kaydedebilirsiniz.Her bir tamsayı değeri 3.33 milisaniye olarak gösterir.Sıkıştırma, ilk beş dakika içinde ilk 2 baytı exhausts ve 4 PM sonra dördüncü bayt gerekir.Bu nedenle, sıkıştırma, yalnızca 1 bayt 4 PM sonra kaydedebilirsiniz.Zamandatetimetüm diğer tamsayı olarak sıkıştırma kayıt tarih. 2 bayt gibi sıkıştırılmış |
date |
Hayır |
Tamsayı veri gösterimi ile 3 bayt kullanır.Bu, 1/1/0001 tarih gösterir.Çağdaş tarih için 3 tüm baytlar satır sıkıştırma kullanır.Bu, hiçbir kazancı erişir. |
time |
Hayır |
3-6 Bayt kullanarak tamsayı veri gösterimi kullanır.0-3-6 Bayt, 9 ile başlayan çeşitli precisions vardır.Sıkıştırılmış alanı aşağıdaki gibi kullanılır:
Satır sıkıştırma için depolama birimindeki herhangi bir değişiklik yok.Genel olarak, değil ne kadar tasarruf sıkıştırmasını gereklitimeveri türü. |
datetime2 |
Evet |
Uses the integer data representation by using 6 to 9 bytes.İlk 4 bayt tarih gösterir.saat alınan bayt, belirtilen saat duyarlığı'bağlıdır. 12/31/9999'ın bir üst sınır olan 1/1/0001 itibaren gün sayısı tamsayı değerini gösterir.2005 Yılında tarih ifade etmesi için sıkıştırma 3 bayt alır. Yok yok tasarruf zamanı çeşitli saat precisions için 2 ile 4 bayt verdiğinden.Bu nedenle, bir saniyelik saat kesinlik için sıkıştırma 2 bayt 255 saniye sonra ikinci bayt, bir saat için kullanır. |
datetimeoffset |
Evet |
Benzerdatetime2, saat dilimi biçimini (ss: dd), 2 bayt olmasıdır. Gibidatetime2sıkıştırma kaydedebilirsiniz 2 bayt. Saat dilimi değerler için aa değeri genellikle 0 olabilir.Bu nedenle, sıkıştırma, büyük olasılıkla 1 bayt kaydedebilirsiniz. Satır sıkıştırma için depolama birimindeki herhangi bir değişiklik vardır. |
char |
Evet |
Sonunda doldurma karakterleri kaldırılır., NotDatabase Enginekullanılan alfabe düzeni ne olursa olsun aynı dolgu karakteri ekler. |
varchar |
Hayır |
Etkisi. |
text |
Hayır |
Etkisi. |
nchar |
Evet |
Sonunda doldurma karakterleri kaldırılır., NotDatabase Enginekullanılan alfabe düzeni ne olursa olsun aynı dolgu karakteri ekler. |
nvarchar |
Hayır |
Etkisi. |
ntext |
Hayır |
Etkisi. |
binary |
Evet |
Ardarda sıfırları kaldırılır. |
varbinary |
Hayır |
Etkisi. |
image |
Hayır |
Etkisi. |
cursor |
Hayır |
Etkisi. |
timestamp / rowversion |
Evet |
Tamsayı veri gösterimi ile 8 bayt kullanır.Her veritabanı için tutulan bir zaman damgası sayacı vardır ve değeri 0'dan başlar.Bu gibi başka bir tamsayı değer sıkıştırılabilir. |
sql_variant |
Hayır |
Etkisi. |
uniqueidentifier |
Hayır |
Etkisi. |
table |
Hayır |
Etkisi. |
xml |
Hayır |
Etkisi. |
Kullanıcı tanımlı türler |
Hayır |
Bu dahili olarak temsilvarbinary. |
FILESTREAM |
Hayır |
Bu dahili olarak temsilvarbinary. |