sp_estimated_rowsize_reduction_for_vardecimal (Transact-SQL)

Se aplica a:SQL Server

Calcula la reducción del tamaño medio de las filas si se habilita el formato de almacenamiento vardecimal en una tabla. Utilice este número para calcular la reducción general del tamaño de la tabla. Puesto que el muestreo estadístico se usa para calcular la reducción media del tamaño de fila, se debe considerar como una mera aproximación. Es posible que, en contadas ocasiones, el tamaño de fila aumente después de habilitar el formato de almacenamiento vardecimal.

Nota:

Esta característica se quitará en una versión futura de SQL Server. Evite utilizar esta característica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. Use la compresión ROW y PAGE en su lugar. Para obtener más información, consulte Data Compression. Para ver los efectos de compresión sobre el tamaño de las tablas e índices, consulte sp_estimate_data_compression_savings (Transact-SQL).

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Argumentos

[ @table = ] 'table' Es el nombre de tres partes de la tabla para la que se va a cambiar el formato de almacenamiento. table es nvarchar(776).

Valores de código de retorno

0 (correcto) o 1 (error)

Conjuntos de resultados

El siguiente conjunto de resultados se devuelve para proporcionar información acerca del tamaño de tabla actual y aproximado.

Nombre de la columna Tipo de datos Descripción
avg_rowlen_fixed_format decimal (12, 2) Representa la longitud de la fila en formato de almacenamiento decimal fijo.
avg_rowlen_vardecimal_format decimal (12, 2) Representa el tamaño de fila medio cuando se utiliza el formato de almacenamiento vardecimal.
row_count int Número de filas de la tabla.

Comentarios

Use sp_estimated_rowsize_reduction_for_vardecimal para calcular el ahorro que se produce si habilita una tabla para el formato de almacenamiento vardecimal. Por ejemplo, si el tamaño medio de una fila se puede reducir un 40 por ciento, potencialmente también se puede reducir el tamaño de la tabla en un 40 por ciento. Es posible que no consiga ahorrar espacio, ya que dependerá del factor de relleno y del tamaño de la fila. Por ejemplo, si una fila tiene 8.000 bytes de longitud y reduce su tamaño en un 40 por ciento, solo podrá seguir incluyendo una fila en una página de datos, con lo que no obtendrá ningún ahorro.

Si los resultados de sp_estimated_rowsize_reduction_for_vardecimal indican que la tabla aumentará, esto significa que muchas filas de la tabla usan casi toda la precisión de los tipos de datos decimales y la adición de la pequeña sobrecarga necesaria para el formato de almacenamiento vardecimal es mayor que el ahorro del formato de almacenamiento vardecimal. En este caso excepcional, no habilite el formato de almacenamiento vardecimal.

Si una tabla está habilitada para el formato de almacenamiento vardecimal, use sp_estimated_rowsize_reduction_for_vardecimal para calcular el tamaño medio de la fila si el formato de almacenamiento vardecimal está deshabilitado.

Permisos

Requiere el permiso CONTROL en la tabla.

Ejemplos

El ejemplo siguiente calcula la reducción del tamaño de fila si se comprime la tabla Production.WorkOrderRouting de la base de datos AdventureWorks2022.

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

Consulte también

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