SQL Server 2016 Tempdb 성능 향상
- Version : SQL Server 2016
SQL Server에서 Tempdb는 성능 관점에서 매우 중요한 부분이다. 쿼리를 실행할 때 중간 값을 저장하기 위한 용도, 테이블변수, 임시 테이블, 정렬, 해쉬 등에 사용된다.
- Tempdb 경합 확인 및 해결 : http://sqlmvp.kr/140194260164
- Tempdb 경합 : http://sqlmvp.kr/140164023333
아래 링크는 SQL Server 2012, 2014에서 권장하는 tempdb 최적화 구성 방법이다.
- Recommended updates and configuration options for SQL Server 2012 and SQL Server 2014 with high-performance workloads : https://support.microsoft.com/en-us/kb/2964518
SQL Server 2016에서는 tempdb 의 성능 최적화를 위해 디자인이 변경되었다. 간단히 요약하면 위 두 가지 옵션이 기본적으로 적용되어 있다.
-T1118에 해당하는 옵션 설정은 아래 명령으로 대체되었다. (기본값OFF)
MIXED_PAGE_ALLOCATION 옵션 상태는sys.databses의is_mixed_page_allocation_on 컬럼값으로 확인 가능하다.
- sys.databases : https://msdn.microsoft.com/en-us/library/ms178534.aspx
- 0 = uniform extents allocation (OFF)
- 1 = mixed extents allocation (ON)
-T1117에 해당하는 옵션 설정은 아래 명령으로 대체 되었다. (기본값 : AUTOGROW_SINGLE_FILE)
- ALTER DATABASE <dbname> MODIFY FILEGROUP <filegroup> { AUTOGROW_ALL_FILES | AUTOGROW_SINGLE_FILE }
https://msdn.microsoft.com/en-us/library/bb522469.aspx
Filegorup 옵션 상태는 sys.filegroups의is_autogrow_all_files 컬럼값으로 확인 가능하다.
- sys.filegroups : https://msdn.microsoft.com/en-us/library/ms187782.aspx
- 1 : all file grow
- 0 : single file gorw (default)
[참고자료]
- https://blogs.msdn.microsoft.com/psssql/2016/03/15/sql-2016-it-just-runs-faster-t1117-and-t1118-changes-for-tempdb-and-user-databases/
- https://support.microsoft.com/en-us/kb/2964518
- https://msdn.microsoft.com/en-us/library/ms178534.aspx
- https://msdn.microsoft.com/en-us/library/ms187782.aspx
2016-06-02 / 강성욱 / http://sqlmvp.kr
SQL Server, SQL 2016, mssql, tempdb, _T1117, _T1118, extents allocation, tempdb option, DB 튜닝, SQL 튜닝, DBA, SQL 최적화
'SQL Server > SQL Server Tip' 카테고리의 다른 글
SQL Server 2016 향상된 즉시 파일 초기화 (0) | 2016.07.07 |
---|---|
SQL Server 2016 LDF 생성 또는 증가 시 변경된 스탬프 패턴 (1) | 2016.06.14 |
SQL Server Job Agent는 몇 개까지 실행이 가능할까? (0) | 2016.05.27 |
확장이벤트 사용시 주의사항 (0) | 2016.05.14 |
Unix(Linux) timestamp(bigint) 형식을 datetime 으로 변경하기 (0) | 2016.05.05 |