인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

공부해보자님의 프로필 이미지
공부해보자

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part5: 데이터베이스

복합 인덱스

페이지 스플릿에 관하여

해결된 질문

작성

·

271

1

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

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

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

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

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

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

답변 1

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

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

2) 그렇습니다.

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

공부해보자님의 프로필 이미지
공부해보자

작성한 질문수

질문하기