sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

S’applique à :SQL Server

Estime la réduction de la taille moyenne des lignes si vous activez le format de stockage vardecimal sur une table. Utilisez ce nombre pour estimer la réduction globale de la taille de la table. Dans la mesure où l'échantillonnage statistique permet de calculer la réduction moyenne de la taille de ligne, considérez-le simplement comme une estimation. La taille de ligne peut augmenter après l'activation du format de stockage vardecimal, mais cela reste rare.

Remarque

Cette fonctionnalité sera supprimée dans une version future de SQL Server. Évitez d'utiliser cette fonctionnalité dans de nouveaux travaux de développement, et prévoyez de modifier les applications qui utilisent actuellement cette fonctionnalité. Utilisez plutôt la compression ROW et PAGE. Pour plus d’informations, consultez Compression de données. Pour connaître les effets de compression sur la taille des tables et des index, consultez sp_estimate_data_compression_savings (Transact-SQL).

Conventions de la syntaxe Transact-SQL

Syntaxe

  
sp_estimated_rowsize_reduction_for_vardecimal [ [ @table_name = ] 'table'] [;]  

Arguments

[ @table = ] 'table' Nom de la table en trois parties pour laquelle le format de stockage doit être modifié. la table est nvarchar(776).

Codet de retour

0 (réussite) ou 1 (échec)

Jeux de résultats

Le jeu de résultats suivant est retourné pour fournir des informations sur la taille actuelle et estimée de la table.

Nom de la colonne Type de données Description
avg_rowlen_fixed_format décimal (12, 2) Représente la longueur de la ligne au format de stockage décimal fixe.
avg_rowlen_vardecimal_format décimal (12, 2) Représente la taille de ligne moyenne lorsque le format de stockage vardecimal est utilisé.
row_count int Nombre de lignes dans la table.

Notes

Utilisez sp_estimated_rowsize_reduction_for_vardecimal pour estimer les économies résultantes si vous activez une table pour le format de stockage vardecimal. Par exemple, si la taille moyenne de la ligne peut être réduite de 40 %, vous pouvez réduire la taille de la table de 40 %. Vous n'économiserez peut-être pas d'espace en fonction du facteur de remplissage et de la taille de la ligne. Par exemple, si vous disposez d'une ligne d'une longueur de 8 000 octets et que vous réduisez sa taille de 40 %, vous ne pourrez toujours pas intégrer plus d'une ligne sur une page de données, ce qui ne génère pas de gains.

Si les résultats de sp_estimated_rowsize_reduction_for_vardecimal indiquent que la table augmente, cela signifie que de nombreuses lignes de la table utilisent presque toute la précision des types de données décimaux, et l’ajout de la petite surcharge nécessaire pour le format de stockage vardecimal est supérieure à l’économie du format de stockage vardecimal. Dans ce cas très peu fréquent, n'activez pas le format de stockage vardecimal.

Si une table est activée pour le format de stockage vardecimal, utilisez sp_estimated_rowsize_reduction_for_vardecimal pour estimer la taille moyenne de la ligne si le format de stockage vardecimal est désactivé.

Autorisations

Nécessite l'autorisation CONTROL sur la table.

Exemples

L'exemple suivant estime la réduction de la taille de ligne si la table Production.WorkOrderRouting de la base de données AdventureWorks2022 est compressée.

USE AdventureWorks2022;  
GO  
EXEC sp_estimated_rowsize_reduction_for_vardecimal 'Production.WorkOrderRouting' ;  
GO  

Voir aussi

sp_db_vardecimal_storage_format (Transact-SQL)
sp_tableoption (Transact-SQL)