sp_estimate_data_compression_savings (Transact-SQL)
İstenen nesne geçerli boyutunu verir ve istenen sıkıştırma durumuna ilişkin nesne boyutu tahmin eder.Sıkıştırma, tüm tablolar veya tablolar bölümlerini değerlendirilebilir.Bu yığınlar, içeren kümelenmiş dizinler kümelenmemiş dizinleri, dizin oluşturulmuş görünümler ve tablo ve dizin bölümleri.Nesneleri satır sıkıştırma veya sayfa sıkıştırması kullanılarak sıkıştırılabilir.tablo, dizin veya bölüm zaten sıkıştırılmışsa, onu sıkıştırıldığında, tablo, dizin veya bölüm boyutunu tahmin etmek için bu yordamı kullanabilirsiniz.
Not
Sıkıştırma ve sp_estimate_data_compression_savings yalnızca kullanılabilir SQL Server 2008 Enterprise ve Developer sürümleri.
İstenen sıkıştırma ayarını kullanmak için olsaydı, nesnenin boyutunu tahmin etmek için bu saklı yordam kaynak nesne örnekleri ve bu verileri bir eşdeğer tablo yükler ve dizin oluşturulan tempdb.tablo ya da dizin oluşturma tempdb sonra istenen ayarı ve tasarruf hesaplanan tahmini sıkıştırma sıkıştırılmış.
Bir tablo, dizin veya bölüm, kullanımı sıkıştırılma durumunu değiştirmek için alter table veya alter INDEX ifadeleri.Sıkıştırma hakkında genel bilgi için bkz: Sıkıştırılmış tablolar ve dizinler oluşturma.
Not
Varolan verileri parçalanmışsa, dizini yeniden oluşturuluyor sıkıştırma kullanmadan boyutunu küçültmek mümkün olabilir.Dizinler için bir dizin yeniden oluşturma sırasında doldurma faktörü uygulanacaktır.Bu dizin boyutunu arttırabilir.
Sözdizimi
sp_estimate_data_compression_savings
[ @schema_name = ] 'schema_name'
, [ @object_name = ] 'object_name'
, [@index_id = ] index_id
, [@partition_number = ] partition_number
, [@data_compression = ] 'data_compression'
[;]
Bağımsız değişkenler
[ @schema_name= ] 'schema_name'
tablo ya da dizinli görünümiçeren veritabanı şeması addır.schema_nameis sysname.schema_name Null, geçerli kullanıcının varsayılan şeması kullanılır.[ @object_name= ] 'object_name'
tablo veya dizin üzerinde dizinli görünüm adıdır.object_nameis sysname.[ @index_id= ] 'index_id'
Dizin kimliğidir.index_idİş int, ve aşağıdaki değerlerden biri olabilir: Dizin, null veya 0 Eğer kimlik numarası object_id bir yığın.Bilgi için temel tablo ya da görünüm için tüm dizinler dönmek için null belirtin.null belirtirseniz, null için de belirtmelisiniz partition_number.[ @partition_number= ] 'partition_number'
Bölüm nesnesi sayısıdır.partition_numberİş int, ve aşağıdaki değerlerden biri olabilir: Dizin veya yığın, null veya nonpartitioned dizin veya yığın için 1 bölüm sayısı.Bölümü belirtmek için de belirtebilirsiniz $bölüm işlev.Nesnenin sahibi olan tüm bölümler için bilgi dönmek için null belirtin.
[ @data_compression= ] 'data_compression'
Değerlendirilecek sıkıştırma türüdür.data_compressionAşağıdaki değerlerden biri olabilir: YOK, satır veya sayfa.
Dönüş Kodu Değerleri
0 (başarılı) veya 1 (hata)
Sonuç Kümeleri
Aşağıdaki sonuç kümesi , tablo, dizin veya bölüm için Cari ve tahmini boyutu sağlamak için döndürülür.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
object_name |
sysname |
tablo veya dizinli görünümadı. |
schema_name |
sysname |
Şema tablo veya dizinli görünüm. |
index_id |
int |
Bir dizinin dizin kimliği: 0 = Yığın 1 = Clustered dizini >1 = Kümelenmemiş dizin |
partition_number |
int |
Bölüm numarası.Nonpartitioned tablo ya da dizin için 1 döndürür. |
size_with_current_compression_setting (KB) |
bigint |
İstenen tablo, dizin veya bölüm olarak boyutunu şimdilik. |
size_with_requested_compression_setting (KB) |
bigint |
tablo, dizin veya istenen Sıkıştırma ayarı kullanan bölüm boyutunu tahmini; ve, eğer varsa mevcut doldurma faktörüve varsayılarak hiçbir parçalanma. |
sample_size_with_current_compression_setting (KB) |
bigint |
Geçerli sıkıştırma ayarı örneğinin boyutu.Bu, her türlü parçalanma içerir. |
sample_size_with_requested_compression_setting (KB) |
bigint |
İstenen Sıkıştırma ayarı kullanılarak oluşturulan örnek boyutu; ve (varsa) mevcut doldurma faktörü ve hiçbir parçalanma. |
Açıklamalar
Use sp_estimate_data_compression_savings Tahmin tasarrufu oluşturduğunuzda oluşan bir tablo veya bölüm için etkinleştirmek içinsatır veya sayfa sıkıştırma.İçin örnek yüzde 40 satır ortalama boyutu azaltılabilir, size nesnenin boyutunu yüzde 40 potansiyel azaltabilirsiniz.Bu doldurma faktörü ve satır boyutunu bağlıdır çünkü bir tasarruf almayabilir.Örneğin, 8000 bayt uzunluğunda bir satır varsa ve yüzde 40 boyutunu küçültmek, hala uyma tek satır bir veri sayfakullanabilirsiniz.Yok kazanımı yoktur.
Yoksa çalışması sonuçlar sp_estimate_data_compression_savings göstermek, tablo büyümesine, tablo birçok satır neredeyse tamamını kesinlik veri türlerini kullanmak ve sıkıştırılmış biçimi için gerekli küçük yük ekidir birden çok sıkıştırma tasarruf anlamına gelirBu nadir durumda sıkıştırma etkinleştirmeyin.
Bir tablo için sıkıştırma etkinleştirilirse, kullanmak sp_estimate_data_compression_savings tablo sıkıştırılmamış ise satır ortalama boyutunu tahmin etmek için.
(Is) kilit bu işlem sırasında ' % s'tablo tablo üzerinde alım.(Is) kilit alınamıyor, yordamı engellenir.tablo altında okuma kaydedilmiş yalıtım düzeyitaranır.
saklı yordam istenen Sıkıştırma ayarı geçerli Sıkıştırma ayarı olarak aynı ise, hiçbir veri parçalanma ve mevcut doldurma faktörükullanılarak tahmini boyutu döndürür.
Dizin veya bölüm kimliği yoksa sonuçlar döndürülür.
İzinler
tabloüzerinde select izni gerektirir.
Örnekler
Aşağıdaki örnek boyutunu tahmin eder Production.WorkOrderRouting tablo AdventureWorks2008R2 , onu sıkıştırılmış kullanarak veritabanı ROW sıkıştırma.
USE AdventureWorks2008R2;
GO
EXEC sp_estimate_data_compression_savings 'Production', 'WorkOrderRouting', NULL, NULL, 'ROW' ;
GO