MSSQL 데이터 내부저장방식

-- MSSQL 2012. 10. 16. 06:38
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

예전에 MSSQL을 공부하면서 정리해두었던 문서인데 지금에서야 포스트로 올린다.
MSSQL버전이 올라가면서 변경되었는지 모르겠으나 이런 식으로 저장된다는 방식만 이해하면 될 듯 하다.

 Data Page  
    
 고정길이 컬럼만 있는 경우  
 Status Bits1byte 
 사용되지 않음1byte 
 컬럼들의 수를 찾을 위치2byte 
 고정길이 컬럼의 데이터nbyte 
 컬럼들의 수2byte 
 null 비트맵 (각 컬럼마다 1bit 사용)nbyte 
    
 가변길이 컬럼이 있는 경우  
 Status Bits1byte 
 사용되지 않음1byte 
 컬럼들의 수를 찾을 위치2byte 
 고정길이 컬럼의 데이터nbyte 
 컬럼들의 수2byte 
 null 비트맵1byte 
 가변길이 컬럼의 수2byte 
 가변길이 컬럼이 끝나는 위치2byte 
 가변길이 컬럼의 데이터nbyte 
    
 클러스터 인덱스의 경우  
 Status Bits1byte 
 사용되지 않음1byte 
 컬럼들의 수를 찾을 위치2byte 
 고정길이 컬럼의 데이터nbyte 
 컬럼들의 수2byte 
 null 비트맵1byte 
 가변길이 컬럼의 수2byte 
 가변길이 컬럼이 끝나는 위치2byte 
 가변길이 컬럼의 데이터nbyte 
    

 Index Page  
    
 고정길이 인덱스 (non-cluster)  
 Status Bits1byte 
 고정길이 컬럼의 데이터nbyte 
 북마크 페이지포인터4byte 
 북마크 파일ID2byte 
 북마크 Slot#2byte 
 Ncol2byte 
 null 비트맵1byte 
    
 가변길이 인덱스 (non-cluster)  
 Status Bits1byte 
 고정길이 컬럼의 데이터nbyte 
 북마크 페이지포인터4byte 
 북마크 파일ID2byte 
 북마크 Slot#2byte 
 Ncol2byte 
 null 비트맵1byte 
 가변길이 컬럼의 수2byte 
 가변길이 컬럼의 종료 포인터2byte 
 가변길이 컬럼의 데이터nbyte 
    
 가변길이 + 고정길이 인덱스 (non-cluster) 
 Status Bits1byte 
 고정길이  컬럼의 데이터nbyte 
 북마크 페이지포인터4byte 
 북마크 파일ID2byte 
 북마크 Slot#2byte 
 Ncol2byte 
 null 비트맵1byte 
 가변길이 컬럼의 수2byte 
 가변길이 컬럼이 끝나는 위치nbyte 
 가변길이 컬럼의 데이터nbyte 
    

posted by 어린왕자악꿍