mssql 공부하고있는 사람입니다.
인덱스 공부하다가 궁금증이 들어서 질문하나 드립니다.
흔히들 "인덱스가 몇% 깨졌다"는 표현을 쓰는데
이게 무슨말인지를 모르겠습니다.
제가 알고있는 인덱스는 테이블조회 시에 속도를 높여주는 거로 알고있는게 전부이거든요..
인덱스가 깨지면 rebuild인가 해서 뭐 다시 만들어줘야한다는데 도통 이해가 가질 않네요ㅠㅜ
고수님들 설명좀 부탁드립니다.
Comment 4
-
이리
2017.03.29 14:09
-
기타치는퐝동
2017.03.29 15:13
정말 감사합니다. 내용 쭉 읽어봤는데.. 이부분이 이해가 잘 안되네요..
추가적인 설명 좀 해주실 수 있을까요??
"인덱스의 논리적 페이지 순서가 데이터 파일 내의 물리적 순서와 일치하지 않을 때 나타납니다."
-
처리짱
2017.03.29 17:51
간단히 예기하면 인덱스가 데이터를 쭉 순서대로 정렬 시켜놓는 것인데 1 과 10 데이터가 있다고 하면은
조회를 할때 1 ,10 페이지 2개만 조회를 하면 됬습니다.
근데 5라는 데이터를 입력하면 은 1, 5, 10 3개의 페이지가 생성됩니다.
그럼 이전에는 2개페이지만 조회하면 됬었는데 3개의 페이지를 조회해야 되기 때문에 더 비용이 발생합니다.
이렇게 페이지가 계속 커지는 현상을 조각화라 부르는데 페이지가 8k까지 저장이 됩니다. 8k를 얼마까지 채우느냐의 옵션도 있습니다.
페이지 조각화가 심해져서 페이지를 다시 체우면서 페이지 수를 줄이는 것을 인덱스재빌드라 합니다.
더 자세한 사항은 위분께서 걸어주신 링크를..
-
기타치는퐝동
2017.03.31 08:19
자세한 설명 감사합니다!! 이해가 어느정도는 된거같아요 ㅎㅎ
조각화를 말씀하시는거 같네요
아래 링크 참고해보세요..
https://msdn.microsoft.com/ko-kr/library/ms189858.aspx