반응형
데이터 저장의 저장의 기본 단위가 '페이지'입니다.
페이지 관리의 기본 단위가 '익스텐트'입니다.
[페이지]
SQL Server의 페이지 크기는 8KB입니다. 1MB당 128페이지가 존재합니다.
각 페이지는 96바이트의 머리글로 시작하여 머리글에는 시스템 정보가 저장됩니다.
머리글 다음에 데이터 행과 이에 대응하는 행 오프셋 정보를 담고 있다. 구조는 다음과 같습니다.
대용량 행(varchar, nvarchar, varbinary, sql_variant등)의 경우에는 8KB를 초과하는 경우가 습니다.
실제 행들이 여러 페이지에 걸쳐 있을 수 없지만 이러한 행들은 전체 행의 8060바이트를 초과하면 ROW_OVERFLOW_DATA 할당 단위에 있는 페이지로 동적으로 옮기고 원래 페이지에는 이에 대한 24바이트 포인터가 유지됩니다.
[익스텐트]
익스텐트는 8개의 페이지가 보여 64KB입니다. 1MB당 16개의 익스텐트가 존재합니다.
SQL Server는 효율적인 공간 할당을 위해 적은 양의 데이터를 포함하는 테이블에 전체 익스텐트를 할당하지 않습니다.
따라서 다음과 같이 두 가지 유형의 익스텐트가 있습니다.
- 혼합형 익스텐트 : 하나의 익스텐트에 서로 다른 소유자의 페이지 8개가 혼합으로 존재
- 단일 익스텐트 : 단일 소유자로 이루어집니다. (주로 대량 삽입의 경우 단일 익스텐트로 할당됩니다.)
http://msdn.microsoft.com/ko-kr/library/ms190969(v=sql.105).aspx
'서버 개발 > 데이터베이스 일반' 카테고리의 다른 글
Nested Loops/Sort Merge/Hash Join (0) | 2020.05.01 |
---|---|
OLTP, OLAP, DW (0) | 2020.03.25 |
SQL의 분류 DML/DDL/DCL/TCL (0) | 2020.03.25 |