sp_estimate_data_compression_savings (Transact-sql)

İstenen nesne geçerli boyutunu verir ve nesne boyutu istenen sıkıştırma durumu tahminleri. Sıkıştırma, tüm tablolar veya tablo bölümleri için değerlendirilebilir. Bu kümeler, Kümelenmiş dizinler içerir, kümelendirilmemiş dizinleri, dizin oluşturulmuş görünümler ve tablo ve dizin bölümleri. Nesneleri, satır sıkıştırması ya da 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 yeniden 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 her sürümünde kullanılabilir değil Microsoft SQL Server. Sürümü tarafından desteklenen özellikleri listesi için SQL Serverbakın SQL Server 2012 Sürümleri Tarafından Desteklenen Özellikler.

İstenen sıkıştırma ayarını kullanmak için olsaydı nesnenin boyutunu tahmin etmek için bu saklı yordam kaynak nesne örnekleri alır ve bu verileri eşdeğer bir tabloya yükler ve içinde oluşturulmuş dizini tempdb. Tablo veya dizin yaratmak içinde tempdbsonra 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 deyimleri. Sıkıştırma hakkında genel bilgi için bkz: Veri Sıkıştırma.

[!NOT]

Varolan verileri parçalanır, dizini yeniden oluşturuluyor tarafından sıkıştırma kullanmadan boyutunu azaltmak mümkün olabilir. Dizin için dolgu etmeni bir dizini yeniden oluşturma sırasında uygulanacak. Bu dizin boyutunu arttırabilir.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

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 veya dizin oluşturulmuş görünüm içeren veritabanı şema addır. schema_nameis sysname. Eğer schema_nameboş, geçerli kullanıcı varsayılan şema kullanılır.

  • [ @object\_name= ] 'object_name'
    Tablo veya dizin oluşturulmuş görünüm adıdır. object_nameis sysname.

  • [ @index\_id= ] 'index_id'
    Dizin kimliğidir. index_idise int, ve aşağıdaki değerlerden biri olabilir: dizin, null veya 0 ise kimlik numarası object_idbir yığını. Temel tablo veya görünüm için tüm dizinler için bilgi dönmek için null belirtin. null belirtirseniz, null belirtmek gerekir partition_number.

  • [ @partition\_number= ] 'partition_number'
    Nesne bölüm sayısıdır. partition_numberise 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 sen de belirtebilirsiniz: $PARTITION işlevi. Tüm bölümler için bilgi sahibi olan nesne dönmek için null belirtin.

  • [ @data\_compression= ] 'data_compression'
    Sıkıştırma değerlendirilecek türüdür. data_compressionAşağıdaki değerlerden biri: none, satır veya sayfa.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Sonuç Kümeleri

Tablo, dizin veya bölüm için cari ve tahmini boyutu sağlamak için aşağıdaki sonuç kümesi verir.

Sütun adı

Veri türü

Açıklama

object_name

sysname

Tablo veya dizin oluşturulmuş görünüm adı.

schema_name

sysname

Tablo veya dizin oluşturulmuş görünüm şema.

index_id

int

Bir dizin dizin Kımlığı:

0 = Yığın

1 = Clustered dizini

>1 = Kümelendirilmemiş dizini

partition_number

int

Bölüm numarası. Nonpartitioned tablo veya dizin için 1 döner.

size_with_current_compression_setting (KB)

bigint

Şu anda istenen tablosu, dizin veya bölüm olarak boyutu bulunmaktadır.

size_with_requested_compression_setting (KB)

bigint

Tablo, dizin veya istenen sıkıştırma ayarını kullanan bölüm boyutunu tahmini; ve, varsa, varolan dolgu etmeni ve orada varsayarak hiçbir parçalanma.

sample_size_with_current_compression_setting (KB)

bigint

Geçerli sıkıştırma ayarı ile örnek boyutu. Bu, herhangi bir parçalanma içerir.

sample_size_with_requested_compression_setting (KB)

bigint

İstenen sıkıştırma ayarını kullanarak oluşturulan örnek boyutu; ve, varsa, varolan dolgu etmeni ve hiçbir parçalanma.

Açıklamalar

Kullanım sp_estimate_data_compression_savings, bir tablo veya bölüm için satır veya sayfa sıkıştırma etkinleştirdiğinizde oluşan tasarruf tahmin etmek. Örneğin yüzde 40 satır ortalama boyutu azaltılabilir, yüzde 40 potansiyel nesnesinin boyutunu azaltabilirsiniz. Bu dolgu etmeni ve satır boyutunu bağlıdır çünkü bir uzay tasarrufu alamayabilirsiniz. Örneğin, 8000 bayt uzunluğunda bir satır varsa ve yüzde 40 boyutunu küçültmek, hala bir veri sayfasında yalnızca bir satır sığdırabilirsiniz. Hiçbir tasarrufu olduğunu.

Eğer koşu sonuçlarını sp_estimate_data_compression_savingsgösteren tablo büyüyecek, bu tablodaki çok sayıda satır neredeyse bütün hassas veri türleri kullanın ve yükü sıkıştırılmış biçimi için gereken küçük bir ek sıkıştırma tasarrufu fazla olması anlamına gelir. Bu nadir durumda sıkıştırma etkinleştirmeyin.

Bir tablo için sıkıştırma etkinleştirilirse, kullanmak sp_estimate_data_compression_savingstablo sıkıştırılmamış ise satır ortalama boyutunu tahmin etmek için.

(IS) kilit, bu işlem sırasında masada kazanılır. (IS) kilidi alınamıyor, yordamı engellenir. Tablo altında okuma kaydedilmiş yalıtım düzeyi taranır.

İstenen sıkıştırma ayarını geçerli sıkıştırma ayarı olarak aynı ise, saklı yordam hiçbir veri parçalanma ve varolan dolgu etmeni kullanarak tahmini boyutu döndürür.

Dizin veya bölüm numarası yoksa, hiçbir sonuç döndürülür.

İzinler

Tablo üzerinde select izni gerektirir.

Örnekler

Aşağıdaki örnek büyüklüğü tahminlerini Production.WorkOrderRoutingkullanılarak sıkıştırılmışsa masa ROWsıkıştırma.

USE AdventureWorks2012;
GO
EXEC sp_estimate_data_compression_savings 'Production', 'WorkOrderRouting', NULL, NULL, 'ROW' ;
GO

USE AdventureWorks2012;
GO
EXEC sp_estimate_data_compression_savings 'Production', 'WorkOrderRouting', NULL, NULL, 'ROW' ;
GO

Ayrıca bkz.

Başvuru

Tablo (Transact-sql) oluştur

Index (Transact-sql) oluştur

sys.Partitions (Transact-sql)

Veritabanı Altyapısı depolanan yordamlar (Transact-sql)

Kavramlar

Unicode sıkıştırma uygulama