Partager via


sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

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. Le format de stockage vardecimal n'est disponible que dans les éditions Enterprise, Developer et Evaluation de SQL Server, à partir de SQL Server 2005 Service Pack 2.

[!REMARQUE]

Cette fonctionnalité sera supprimée dans une prochaine version de Microsoft 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 Création de tables et d'index compressés. Pour connaître les effets de la compression sur la taille des tables et des index, consultez sp_estimate_data_compression_savings (Transact-SQL).

Icône Lien de rubriqueConventions de la syntaxe de Transact-SQL

Syntaxe

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

Arguments

  • [ @table= ] 'table'
    Nom en trois parties de la table dont le format de stockage doit être modifié. table a la valeur nvarchar(776).

Valeurs des codes de retour

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

Ensembles 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

decimal (12, 2)

Représente la longueur de la ligne au format de stockage décimal fixe.

avg_rowlen_vardecimal_format

decimal (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 gains obtenus si vous autorisez une table à utiliser 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 taille de la table augmentera, cela signifie que de nombreuses lignes de la table utilisent quasiment la précision complète des types de données décimaux, et l'ajout de la surcharge requise pour le format de stockage vardecimal dépasse les gains dérivés 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 était 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 AdventureWorks est compressée.

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