다음을 통해 공유


sp_estimated_rowsize_reduction_for_vardecimal(Transact-SQL)

VarDecimal 저장소 형식이 테이블에 설정되어 있는 경우 평균 행 크기의 감소를 추정합니다. 이 숫자를 사용하여 테이블 크기의 전체 감소를 추정합니다. 통계 샘플링을 사용하여 평균 행 크기의 감소를 계산하므로 이 값은 하나의 추정값으로만 간주해야 합니다. 드물긴 하지만 VarDecimal 저장소 형식을 설정한 후 행 크기가 증가할 수도 있습니다. VarDecimal 저장소 형식은 SQL Server Enterprise Edition, Developer Edition 및 Evaluation Edition(SQL Server 2005 서비스 팩 2 이상)에서만 사용할 수 있습니다.

[!참고]

Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 않도록 하고, 현재 이 기능을 사용하는 응용 프로그램은 수정하십시오. 대신 ROW 및 PAGE 압축을 사용하십시오. 자세한 내용은 압축된 테이블 및 인덱스 만들기를 참조하십시오. 테이블 및 인덱스 크기의 압축 효과에 대한 자세한 내용은 sp_estimate_data_compression_savings(Transact-SQL)를 참조하십시오.

항목 링크 아이콘Transact-SQL 구문 표기 규칙

구문

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

인수

  • [ @table= ] 'table'
    저장소 형식을 변경할 테이블의 세 부분으로 구성된 이름입니다. table은 nvarchar(776)입니다.

반환 코드 값

0(성공) 또는 1(실패)

결과 집합

현재 테이블 크기 및 예상 테이블 크기 정보를 제공하는 다음 결과 집합이 반환됩니다.

열 이름

데이터 형식

설명

avg_rowlen_fixed_format

decimal (12, 2)

고정 Decimal 저장소 형식으로 행의 길이를 나타냅니다.

avg_rowlen_vardecimal_format

decimal (12, 2)

VarDecimal 저장소 형식이 사용되는 경우 평균 행 크기를 나타냅니다.

row_count

int

테이블의 행 수입니다.

주의

sp_estimated_rowsize_reduction_for_vardecimal을 사용하여 테이블에 VarDecimal 저장소 형식을 설정할 경우의 공간 절약을 추정할 수 있습니다. 예를 들어 평균 행 크기가 40% 줄어드는 경우 테이블 크기를 40% 줄일 수 있습니다. 채우기 비율과 행 크기에 따라 공간이 절약되지 않을 수도 있습니다. 예를 들어 8000바이트 길이의 행이 있고 행 크기를 40% 줄인 경우에도 여전히 데이터 페이지 하나에 행 하나만 넣을 수 있어 공간이 절약되지 않을 수 있습니다.

sp_estimated_rowsize_reduction_for_vardecimal 결과에서 테이블이 확장됨을 나타내는 경우 테이블의 많은 행이 decimal 데이터 형식의 전체 자릿수를 거의 모두 사용하며 VarDecimal 저장소 형식에 필요한 작은 오버헤드 추가분이 VarDecimal 저장소 형식에서 얻을 수 있는 공간 절약보다 큰 것입니다. 드물긴 하지만 이런 경우에는 VarDecimal 저장소 형식을 설정하지 마십시오.

테이블에 VarDecimal 저장소 형식이 설정되어 있으면 sp_estimated_rowsize_reduction_for_vardecimal을 사용하여 VarDecimal 저장소 형식을 사용하지 않을 경우의 평균 행 크기를 추정할 수 있습니다.

사용 권한

테이블에 대한 CONTROL 권한이 필요합니다.

다음 예에서는 AdventureWorks 데이터베이스의 Production.WorkOrderRouting 테이블이 압축된 경우의 행 크기 감소를 추정합니다.

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