-- MSSQL
MSSQL 데이터 내부저장방식
어린왕자악꿍
2012. 10. 16. 06:38
예전에 MSSQL을 공부하면서 정리해두었던 문서인데 지금에서야 포스트로 올린다.
MSSQL버전이 올라가면서 변경되었는지 모르겠으나 이런 식으로 저장된다는 방식만 이해하면 될 듯 하다.
Data Page | |||
고정길이 컬럼만 있는 경우 | |||
Status Bits | 1byte | ||
사용되지 않음 | 1byte | ||
컬럼들의 수를 찾을 위치 | 2byte | ||
고정길이 컬럼의 데이터 | nbyte | ||
컬럼들의 수 | 2byte | ||
null 비트맵 (각 컬럼마다 1bit 사용) | nbyte | ||
가변길이 컬럼이 있는 경우 | |||
Status Bits | 1byte | ||
사용되지 않음 | 1byte | ||
컬럼들의 수를 찾을 위치 | 2byte | ||
고정길이 컬럼의 데이터 | nbyte | ||
컬럼들의 수 | 2byte | ||
null 비트맵 | 1byte | ||
가변길이 컬럼의 수 | 2byte | ||
가변길이 컬럼이 끝나는 위치 | 2byte | ||
가변길이 컬럼의 데이터 | nbyte | ||
클러스터 인덱스의 경우 | |||
Status Bits | 1byte | ||
사용되지 않음 | 1byte | ||
컬럼들의 수를 찾을 위치 | 2byte | ||
고정길이 컬럼의 데이터 | nbyte | ||
컬럼들의 수 | 2byte | ||
null 비트맵 | 1byte | ||
가변길이 컬럼의 수 | 2byte | ||
가변길이 컬럼이 끝나는 위치 | 2byte | ||
가변길이 컬럼의 데이터 | nbyte | ||
Index Page | |||
고정길이 인덱스 (non-cluster) | |||
Status Bits | 1byte | ||
고정길이 컬럼의 데이터 | nbyte | ||
북마크 페이지포인터 | 4byte | ||
북마크 파일ID | 2byte | ||
북마크 Slot# | 2byte | ||
Ncol | 2byte | ||
null 비트맵 | 1byte | ||
가변길이 인덱스 (non-cluster) | |||
Status Bits | 1byte | ||
고정길이 컬럼의 데이터 | nbyte | ||
북마크 페이지포인터 | 4byte | ||
북마크 파일ID | 2byte | ||
북마크 Slot# | 2byte | ||
Ncol | 2byte | ||
null 비트맵 | 1byte | ||
가변길이 컬럼의 수 | 2byte | ||
가변길이 컬럼의 종료 포인터 | 2byte | ||
가변길이 컬럼의 데이터 | nbyte | ||
가변길이 + 고정길이 인덱스 (non-cluster) | |||
Status Bits | 1byte | ||
고정길이 컬럼의 데이터 | nbyte | ||
북마크 페이지포인터 | 4byte | ||
북마크 파일ID | 2byte | ||
북마크 Slot# | 2byte | ||
Ncol | 2byte | ||
null 비트맵 | 1byte | ||
가변길이 컬럼의 수 | 2byte | ||
가변길이 컬럼이 끝나는 위치 | nbyte | ||
가변길이 컬럼의 데이터 | nbyte | ||