sp_estimate_data_compression_savings (Transact-SQL)
Geçerli tablo boyutunu verir ve istenen sıkıştırma durumuna ilişkin tablo boyutunu tahmin eder.Sıkıştırma, ayrıca tüm tablo veya tablolar bölümlerini değerlendirilebilir.Bu kümeler, kümelenmiş bir dizin, kümelenmemiş dizin, dizine görüntüler, tablo ve bölüm dizin.Tablo yapıları satır sıkıştırma veya sayfa sıkıştırma kullanılarak sıkıştırılabilir.Tablo, dizin veya bölüm zaten sıkıştırılmışsa, sıkıştırılmamış idiyse, 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 Kuruluş ve Developer sürümleri.
Bu saklı yordam, istenen sıkıştırma ayarını kullanmak, nesnenin boyutunu tahmin etmek için , kaynak nesne örnekleri ve bir eşdeğer tablosu ve dizin tempdb içinde oluşturulan bu veriler yükler.Tablo ya da dizin oluşturma tempdb sonra istenen ayarına sıkıştırılır ve tahmini sıkıştırma tasarruf hesaplanır.
Bir tablo, dizin veya bölüm, kullanımı sıkıştırılma durumunu değiştirmek için TABLO DEĞİŞTİRME or DİZİN DEĞİŞTİR deyimleri.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 sıkıştırma dizinini yeniden oluşturma işlemi tarafından kullanmadan boyutunu küçültebilirsiniz olabilir.Dizinler için doldurma faktörü, bir dizin yeniden oluşturma işlemi sırasında uygulanır.Bu dizin boyutunu artırabilir.
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'
Is the name of the database schema that contains the table or indexed view.schema_name is sysname.If schema_name null, geçerli kullanıcının varsayılan şemayı kullanılır.[object_name =] ' object_name'
Is the name of the table or indexed view that the index is on.object_name is sysname.[index_id =] ' index_id'
Is the ID of the index.index_id is int, and can be one of the following values: Dizin, NULL veya 0 ise KIMLIK numarasını object_id yığın olur. Bilgi için tüm dizinler bir temel tablo veya görünüme dönmek için , NULL belirtin.NULL belirtirseniz, NULL için de belirtmeniz gerekir partition_number.[partition_number =] ' partition_number'
Is the partition number in the object.partition_number is int, and can be one of the following values: bölüm sayısı bir dizin veya yığın, NULL ya da 1 nonpartitioned dizin veya yığın.Bölüm belirtmek için , ayrıca belirtebilirsiniz $ Bölümü işlev.Nesnenin sahibi olan tüm bölümler için bilgi almak için , NULL belirtin.
[data_compression =] ' data_compression'
Is the type of compression to be evaluated.data_compression can be one of the following values: YOK, 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 dizinlenmiş görünümün adı. |
schema_name |
sysname |
dizinli görünüm veya tablo şema. |
index_id |
int |
Bir dizinin Dizin KIMLIĞI: 0 Yığın = 1 Clustered dizin = > 1 Kümelenmemiş dizin = |
partition_number |
int |
Bölüm numarası'nı tıklatın.Nonpartitioned tablo veya dizin için 1 döndürür. |
size_with_current_compression_setting (KB) |
bigint |
Istenen boyutu tablo, dizin veya bölüm olarak şimdilik. |
size_with_requested_compression_setting (KB) |
bigint |
Tablo, dizin veya istenen sıkıştırma ayarı; bölüm boyutunu tahmin ve, uygunsa, varolan doldurma faktörü ve olmadığını varsayarak hiçbir parçalanma. |
sample_size_with_current_compression_setting (KB) |
bigint |
Örnek boyutu ayarlama; varolan sıkıştırma kullanılarak oluşturulur ve varsa, varolan doldurma faktörü ve hiçbir parçalanma.Bu satır kümesi kümesi sıfırdan oluşturduğundan, yok parçalanma yoktur. |
sample_size_with_requested_compression_setting (KB) |
bigint |
Örnek boyutu, istenen sıkıştırma ayarı; kullanılarak oluşturulur ve varsa, varolan doldurma faktörü ve hiçbir parçalanma. |
Remarks
Bir tablo veya bölüm için bir satır veya sayfa sıkıştırmasını etkinleştirdiğinizde, tasarruf tahmin sp_estimate_data_compression_savings kullanın.Örneğin satırın ortalama büyüklüğü yüzde 40 azaltır azalır, yüzde 40 azaltır olabilecek nesnenin boyutunu azaltabilirsiniz.Bu doldurma faktörü ve satır boyutunu bağlıdır çünkü bir alanı kazancı almamayı.Örneğin, 8000 bayt uzunluğunda bir satır vardır ve yüzde 40 azaltır, boyutunu, yine de yalnızca bir satır veri sayfasında sığdırabilirsiniz.Hiçbir tasarruf yoktur.
Tablo büyüyecektir sp_estimate_data_compression_savings çalıştırmanın sonuçlar gösterir, bu tablodaki çok sayıda satır neredeyse tüm veri türleri duyarlığını kullanır ve ek yükü sıkıştırılmış biçimi için gereken küçük, birden çok sıkıştırma alanından tasarruf olduğunu anlamına gelir.Nadiren bu durumda, sıkıştırma özelliğini etkinleştirmeyin.
Bir tablo için sıkıştırma etkinleştirilirse, sp_estimate_data_compression_savings sıkıştırılmamış bir tablo ise satır ortalama boyutunu tahmin etmek için kullanın.
Bir (IS) kilit tablo üzerinde bu işlem sırasında alınan.Bir (IS) kilit alınamıyor, yordamın engellenir.Tablo, okundu olarak kaydedilmiş yalıtım düzey altında taranır.
saklı yordam, istenen sıkıştırma ayarı olarak geçerli sıkıştırma ayarları aynı ise, hiçbir veri parçalanma ve varolan doldurma faktörü kullanarak tahmini boyutu döndürecektir.
Dizin veya bölüm KIMLIĞI yoksa, sonuçlar döndürülür.
İzinler
Tablosundaki SELECT izni gerektirir.
Örnekler
Aşağıdaki örnek boyutu tahminleri Production.WorkOrderRouting ' de tablo AdventureWorks kullanılarak sıkıştırılmışsa veritabanı ROW sıkıştırma.
USE AdventureWorks
GO
EXEC sp_estimate_data_compression_savings 'Production', 'WorkOrderRouting', NULL, NULL, 'ROW' ;
GO