DW 테이블에 SORT_IN_TEMPDB 옵션을 사용할지 여부에 대해 논의 중입니다. 나는이 옵션을 사용할 때 더 순차적이지만 더 많은 쓰기가 있다는 것을 이해합니다. SAN (때때로 악명을 느 꼈음)이 있으므로 가능한 한 쓰기 수를 제한하려고합니다. tempdb는 별도의 LUN (디스크 세트)에 있다고 생각합니다.
데이터 파일과 tempdb 파일에 충분한 디스크 공간이 있습니다. 이 경우 SORT_IN_TEMPDB를 사용하면 이점이 있습니까?
저를 강타한 한 가지는이 답변 에 대한이 의견이었습니다
인덱스를 다시 작성할 때는 인덱스 공간의 두 배 + 정렬을 위해 20 %가 필요합니다. 따라서 일반적으로 DB의 모든 인덱스를 다시 작성하려면 DB에서 가장 큰 인덱스의 120 % 만 필요합니다. SORT_IN_TEMPDB를 사용하는 경우 20 % 만이기더라도 여전히 데이터 파일에 추가 100 %가 필요합니다. 또한 tempdb에서 sort를 사용하면 인덱스를 데이터 파일에 한 번 쓰는 대신 이제 tempdb에 한 번 쓴 다음 데이터 파일에 쓸 수 있으므로 IO로드가 크게 증가합니다. 따라서 항상 이상적인 것은 아닙니다.
우리는 느리거나 잘못 구성된 SAN으로 IO 부하를 늘리고 싶지 않습니다.
이것을 테스트하는 가장 좋은 방법은 무엇입니까? 옵션을 사용하거나 사용하지 않고 단순히 테이블을 다시 작성하고 시간을 기록하면?
편집 : 각 15GB의 8 개의 tempdb 파일이 있습니다. TF 1117/1118 플래그가 설정되었으며 IFI가 활성화되었습니다. 우리는 현재 sort_in_tempdb 옵션을 사용하거나 사용하지 않고 재구성을 혼합하여 수행합니다.
감사!
SQL Server 2012 엔터프라이즈