MAXDOP 설정
- Version : SQL Server 2005, 2008, 2008R2, 2012
MAXDOP 은 하나 이상의 프로세서 또는 CPU가 있는 컴퓨터에서 각 쿼리에 대한 단일 문을 실행하는데 병렬 실행 계획에 사용할 수 있는 프로세서 수 이다.
그렇다면 MAXDOP은 어디에서 사용할까? 정답은 없다. 환경에 따라 다르며 시스템의 특성에 따라 다르다.
MAXDOP의 기본값은 0 (모든 프로세서 사용)이며 다음의 설정을 통하여 MAXDOP 값을 변경 할 수 있다.
Sp_configure 명령어는 현재의 값을 확인 할 수 있다. (기본값 0)
Sp_configure 명령어를 통하여 병렬처리에 사용되는 프로세서 수를 제한 하자. 변경 후 즉시 적용 되므로 SQL 서비스를 재시작 하지 않아도 된다.
실습에서는 MAXDOP의 값을 2로 수정 하였다.
SP_CONFIGURE 'MAX DEGREE OF PARALLELISM', 2 GO
RECONFIGURE WITH OVERRIDE GO
SP_CONFIGURE GO |
서버 속성에서는 [고급] - [최대 병렬 처리 수준]의 값을 수정하여 확인을 하면 된다.
MAXDOP 쿼리 힌트
병렬로 처리되는 해당 쿼리문에 힌트를 추가 하여 사용한다. 이 힌트를 사용하면 sp_configure 및 리소스 관리자의 최대 병렬 처리 수준 구성 옵션을 무시한다. MAXDOP 힌트는 sp_configure로 구성한 값을 초과할 수 있다.
[MAXDOP 값 설명]
값 | 설명 |
0 | 서버가 시스템 작업에 따라 사용되는 CPU의 수를 결정. |
1 | 직렬로 수행. |
2- ?? | 지정된 값으로 프로세서 수를 제한. 작업에 따라 지정된 수보다 적은 프로세서 사용될 수도 있음. 사용 가능한 CPU 수보다 더 큰 수를 지정하면 사용 가능한 실제 CPU 수가 사용 됨. |
- 병렬처리 최대 값은 SQL Server 버전, CPU 종류 및 운영체제에 따라 달라진다.
- Affinity mask 옵션을 기본값으로 설정하지 않으면 SMP(대칭적 다중 처리) 시스템에서 SQL Server에 사용 가능한 프로세서 수가 제한 될 수도 있다.
참고 링크 : http://msdn.microsoft.com/ko-kr/library/ms181007(v=sql.100).aspx
2012-12-27 / 강성욱 / http://sqlmvp.kr
'SQL Server > SQL Server Tip' 카테고리의 다른 글
CLR 등록 및 활성화 하기 (0) | 2015.07.20 |
---|---|
SQL Server 확장 이벤트를 사용한 Tempdb 병목현상 추적 (0) | 2015.07.20 |
SQL Server 이름 변경 하기 (0) | 2015.07.20 |
SQL Server 마지막 시작 시간 확인 하기 (0) | 2015.07.20 |
여러 포트를 사용하도록 SQL Server 구성 (0) | 2015.07.20 |