안녕하세요.. mssql 저장 영역에 대한
질문입니다.
오라클의 경우 인덱스 저장 영역은 delete에 의해 발생된 공간은
재사용됩니다. 그렇기 때문에
block split 이 거의 발생하지 않아서 블럭 단편화에 대한 index
rebuild 가 필요없습니다.
하지만 mssql 의 경우는 index rebuild 의 실행여부가 성능에 영향을
끼치더군요..즉 실행이
필요한것으로 나와 있더군요...
하지만.. 제 생각에는 인덱스 공간에 pad index 구문이나 기타 fill
factor 라는 옵션을 사용하면..
page split 을 최소화 하기 위해... 인덱스의 저장영역의 재 사용
영역을 예약 해 놓는 것으로
이해하고 있습니다. 그런데 이 부분에서 짚어 보면.. 과연 index delete
후의 공간을 재 사용이
가능한건지... 아니면 새로운 인덱스가 insert 될때 공간 예약인지에
대해서 문의 드립니다.
대부분의 sql 다루시는 고수들의 의견으로 보아 index reuild가 성능에
영향을 끼치는 것으로
말씀하시고 있던데요.. 그렇다면.. 오라클과는 달리 mssql 은 삭제된
인덱스 영역을 재 사용하지
않는것으로 이해가 됩니다. 그렇기 때문에 인덱스 영역은 grow and grow
현상이 발생하게 되는
것으로 이해가 됩니다.
이 부분에 대한 이해를 도와주세요... 수고하세요...
|