2011-01-11 3 views
19

SQL Server 2008의 페이지을 보았습니다. 다소 혼란 스럽습니다. 저는 현재 MCTS Self-Paced Training Kit (Exam 70-433): Microsoft SQL Server 2008-Database Development을 읽는 중입니다. 저자는 제한적인 방법으로 개념을 논의합니다.SQL Server의 페이지 란 무엇입니까? 걱정할 필요가 있습니까?

MSDN에서 "Understanding Pages and Extents"나는 정말 도움이되지 않는 대답을 얻습니다. 웹 페이지는 페이지의 크기 (8kb)와 행이 페이지에 저장되는 방법과 행이 페이지에 맞지 않으면 열이 자동으로 (SQL Server에 의해) 어떻게 이동되는지를 설명합니다.

그러나 페이지 수준이 ER 다이어그램, 테이블 및 데이터 형식이있는 데이터베이스를 디자인하는 데주의해야하는지 궁금합니다. 아니면 단순히 SQL Server가 페이지를 자동으로 처리하는 것이 가장 좋은 방법일까요? 청취

alt text

고맙습니다!

+1

MS 문서는 대부분 BS입니다. 당신은 혼자가 아닙니다. –

답변

30

예! 페이지는 SQL Server의 가장 기본적인 저장소 요소입니다.

페이지의 8192 바이트 중 약. 8060은 사용자로 사용할 수 있습니다. 데이터 행을 페이지에 맞게 관리 할 수 ​​있다면 스토리지를 훨씬 적게 차지할 것입니다.

데이터 행 (예 : 4100 바이트 길이라면 하나의 행만 페이지에 저장됩니다 (나머지 3960 바이트는 낭비됩니다). 중요한 점은 이러한 페이지는 디스크뿐만 아니라 SQL Server 주 메모리에도 관련이 있습니다.> 페이지에 유용한 정보를 담을 수없는 많은 공간을 피하려고합니다.

행을 줄이면 4000 바이트를 차지할 수 있으므로 갑자기 두 행을 한 페이지에 저장할 수 있으므로 낭비되는 공간 (페이지 당 60 바이트까지)의 오버 헤드가 크게 줄어 듭니다.

+1

고맙습니다. 마크! 그것이 내가 알 필요가있는 것입니다.따라서 데이터 행이 클수록 SQL Server에서 잘 사용되는 공간을 보장하기 위해 포함 된 바이트 수를 아는 것이 중요합니다. 좋은 대답! –

+0

+1 마크, 그리고 그는 어떻게 낭비 된 얼룩을 피할 수 있습니까? –

+0

@marc_s 당신이 말했지 : _ 너는 큰 낭비 된 공간을 피하려고 노력하고 싶다. 그 낭비 된 얼룩을 최소화 할 수 있을까? –

7

성능 문제가 발생할 때까지 8KB 페이지 구조에 대해 걱정할 필요가 없습니다. 그러나 8KB 페이지의 내부 구조를 알고 싶다면 다음은 8KB 페이지의 모습을 보여주는 youtube http://www.youtube.com/watch?v=He8MRttysmY의 비디오입니다. 페이지 다음 유형 및 이전 페이지와 같은 페이지에 대한

enter image description here

1.Page 헤더 정보를 저장은 인덱스 페이지 등 페이지의 페이지 헤더 데이터 2.After

에 여유 공간이 있다면 행 섹션은 다음과 같습니다. 여기에 데이터가 실제로 저장됩니다.

3. 로우 오프셋 정보는 페이지의 끝에, 즉 데이터 행 섹션 다음에 저장됩니다. 모든 데이터 행은 행 오프셋을 가지며 행 오프셋 크기는 행당 2 바이트입니다. 행 오프셋은 행이 페이지의 시작부터 얼마나 떨어져 있는지에 대한 정보를 저장합니다.

간단한 단어로 전체 페이지 수식은 다음과 같습니다. 오프셋

페이지 (8킬로바이트/8192 바이트) = 페이지 헤더 (96 바이트) + 실제 데이터 (간에 바이트) + 행 (행 당 2 바이트).

+0

언제 페이지 관련 성능 문제가 걱정 되나요? 몇 가지 예를 들어 주시겠습니까? –

+2

-1 b/c "성능 문제가 발생할 때까지 8KB 페이지 구조에 대해 걱정할 필요가 없습니다." 나는 현재 프로덕션 SQL 서버를 1 억 7 천 3 백만 행을 포함하는 테이블로 수정하려고합니다. 디자인 타임에 성능 (따라서 페이지 크기)을 고려해야합니다. – ray

+0

이 답변은 유익하지만, 문제가 발생할 때까지는 페이지 크기를 무시하는 것이 현명하지 않다고 생각합니다. –

관련 문제