데이터 저장의 저장의 기본 단위가 '페이지'입니다.
페이지 관리의 기본 단위가 '익스텐트'입니다.
[페이지]
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
페이지 및 익스텐트 이해
04/01/2012 읽는 데 2분 이 문서의 내용 --> 페이지 및 익스텐트 이해 SQL Server의 기본 데이터 저장 단위는 페이지입니다. 데이터베이스에서 데이터 파일(.mdf 또는 .ndf)에 할당되는 디스크 공간은 논리적인 페이지로 나뉘어지며 0에서 n 사이의 숫자가 연속으로 페이지에 매겨집니다. 디스크 I/O 작업은 페이지 수준에서 수행됩니다. 즉 SQL Server는 전체 데이터 페이지를 읽거나 씁니다. 익스텐트는 실제로 연속하는 8페이지를 모
docs.microsoft.com
'서버 개발 > 데이터베이스 일반' 카테고리의 다른 글
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 |