• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

페이지 스플릿에 관하여

21.05.29 02:52 작성 조회수 186

1

안녕하세요 강의를 듣던 중 궁금한점이 생겨 질문드리게되었습니다.

페이지 스플릿에 관하여 구글링해본결과

SQL SERVER의 경우 한 페이지의 최대 크기가 8KB라고 하는데요

질문 1) 만약 한 행(값)이 6KB를 차지하는 경우 다음 행 값을 추가한다면(똑같이 6KB) 페이지 스플릿이 일어나는것이 맞나요? (6+6 > 8)

질문 2) 만약 페이지 스플릿이 일어난다면 나머지공간(2KB)은 낭비하게 되나요? (8-6 = 2)

질문 3) 페이지를 못채우고 남는 공간을 줄이는 방법이 존재하나요?

답변 1

답변을 작성해보세요.

2

1) 페이지가 추가되는 것은 맞지만 'Page Split'이라고 보긴 어렵습니다.
엄밀히 말해 Page Split은 원래 한 페이지에 있던 데이터들이 데이터 추가/삭제로 인해
다수의 페이지로 쪼개져서 저장되는 것에 가깝습니다.

2) 그렇습니다.

3) 일부 공간을 사용하지 않는 것을 '낭비'한다고 생각할 필요는 없습니다.
어차피 DB 특성상 데이터가 빈번하게 추가되고 삭제되고 하기 때문에,
잠시 사용 안 하는 공간을 나중에 데이터를 추가하면서 사용할 수도 있고
반대로 사용하던 공간을 사용 안 하게 될 수 있기 때문이죠.
최적의 효율을 위해 어느 정도 메모리 공간을 희생하는 것은
프로그래밍에서 빈번하게 일어나는 거래입니다.