힙 크기 예측
다음 단계에 따라 힙에 데이터를 저장하는 데 필요한 공간의 크기를 예측할 수 있습니다.
테이블에 포함될 행 수를 지정합니다.
Num_Rows = 테이블의 행 수고정 길이 및 가변 길이 열 수를 지정하고 이러한 열을 저장하는 데 필요한 공간을 계산합니다.
이러한 각 열 그룹이 데이터 행 내에서 차지하는 공간을 계산합니다. 열의 크기는 지정된 데이터 형식과 길이에 따라 달라집니다. 자세한 내용은 데이터 형식(데이터베이스 엔진)을 참조하십시오.
Num_Cols = 고정 길이 및 가변 길이 열의 총 수
Fixed_Data_Size = 모든 고정 길이 열의 전체 바이트 크기
Num_Variable_Cols = 가변 길이 열 수
Max_Var_Size = 모든 가변 길이 열의 최대 바이트 크기행의 Null 비트맵 부분이 열의 Null 허용 여부 관리용으로 예약됩니다. 크기를 계산하면 다음과 같습니다.
Null_Bitmap = 2 + ((Num_Cols + 7) / 8)
이 식의 정수 부분만 사용하고 나머지는 무시해야 합니다.가변 길이 데이터 크기를 계산합니다.
테이블에 가변 길이 열이 있는 경우에는 행 안의 열을 저장하기 위해 공간을 얼마나 사용하는지 결정합니다.
Variable_Data_Size* = 2 + (Num_Variable_Cols x 2) + *Max_Var_Size 이 수식은 모든 가변 길이 열이 100% 꽉 찬 것을 전제로 합니다. 사용할 가변 길이 열 저장소의 공간 비율이 더 적을 것으로 예상되는 경우 해당 비율로 Max_Var_Size 값을 조정하여 전체 테이블 크기를 보다 정확하게 예측할 수 있습니다.[!참고] SQL Server 2005에서는 정의된 총 테이블 너비가 8,060바이트를 초과하는 varchar, nvarchar, varbinary 또는 sql_variant 열을 결합할 수 있습니다. 이러한 각 열의 길이는 varchar, nvarchar, varbinary 또는 sql_variant 열의 경우 8,000바이트 이내여야 합니다. 그러나 결합된 너비는 테이블의 8,060바이트 제한을 초과할 수 있습니다. 자세한 내용은 8KB를 초과하는 행 오버플로 데이터를 참조하십시오.
가변 길이 열이 없는 경우 Variable_Data_Size를 0으로 설정합니다.
전체 행 크기를 계산합니다.
Row_Size = Fixed_Data_Size + Variable_Data_Size + Null_Bitmap + 4
이 수식에서 값 4는 데이터 행의 행 머리글 오버헤드입니다.페이지당 행의 수를 계산합니다(페이지당 8096바이트가 비어 있음).
Rows_Per_Page = 8096 / (Row_Size + 2)
행이 여러 페이지에 걸쳐 배치되지는 않으므로 페이지당 행의 수는 가장 근사한 전체 행으로 내림되어 계산됩니다. 수식에서 값 2는 페이지의 슬롯 배열에서의 행 입력을 위한 것입니다.모든 행을 저장하는 데 필요한 페이지의 수를 계산합니다.
Num_Pages* = Num_Rows / *Rows_Per_Page 예상 페이지 수는 가장 근사한 전체 페이지로 올림되어 계산됩니다.힙에 데이터를 저장하는 데 필요한 공간의 크기를 계산합니다(페이지당 총 8192바이트임).
힙 크기(바이트) = 8192 x Num_Pages
이 계산에서 다음은 고려되지 않습니다.
- 분할
분할에 의한 공간 오버헤드는 최소 수준이지만 계산이 복잡해집니다. 분할의 포함 여부는 중요하지 않습니다. - 할당 페이지
힙에 할당된 페이지를 추적하는 데 사용되는 IAM 페이지가 하나 이상 있지만 공간 오버헤드가 최소 수준이며 사용될 IAM 페이지 수를 정확하게 결정적으로 계산할 수 있는 알고리즘은 없습니다. - LOB(Large Object) 값
LOB 데이터 형식 varchar(max), varbinary(max), nvarchar(max), text, ntextxml 및 image 값을 저장하는 데 사용될 공간을 정확하게 계산하는 알고리즘은 매우 복잡합니다. LOB 값의 예상 평균 크기만 전체 힙 크기에 추가해도 됩니다.
참고 항목
개념
클러스터형 인덱스 디자인 지침
인덱스 만들기(데이터베이스 엔진)
비클러스터형 인덱스 디자인 지침
테이블 크기 추정
클러스터형 인덱스의 크기 예측
비클러스터형 인덱스의 크기 예측