cost threshold for parallelism 서버 구성 옵션 구성Configure the cost threshold for parallelism Server Configuration Option

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

이 항목에서는 또는 을 사용하여 SQL Server 2017SQL Server 2017 에서 SQL Server Management StudioSQL Server Management Studio 병렬 처리에 대한 비용 임계값 Transact-SQLTransact-SQL서버 구성 옵션을 구성하는 방법에 대해 설명합니다.This topic describes how to configure the cost threshold for parallelism server configuration option in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. cost threshold for parallelism 옵션은 SQL ServerSQL Server 가 쿼리에 대한 병렬 계획을 만들고 실행하는 임계값을 지정합니다.The cost threshold for parallelism option specifies the threshold at which SQL ServerSQL Server creates and runs parallel plans for queries. SQL ServerSQL Server 는 동일한 쿼리의 직렬 계획을 실행하는 데 드는 예상 비용이 병렬 처리에 대한 비용 임계값에 설정된 값보다 높은 경우에만 해당 쿼리에 대한 병렬 계획을 만들고 실행합니다. creates and runs a parallel plan for a query only when the estimated cost to run a serial plan for the same query is higher than the value set in cost threshold for parallelism. 비용은 특정 하드웨어 구성에서 직렬 계획을 실행하는 데 필요한 예상 비용을 나타내며 시간 단위가 아닙니다.The cost refers to an estimated cost required to run the serial plan on a specific hardware configuration, and is not a unit of time. 병렬 처리에 대한 비용 임계값 옵션은 0에서 32767 사이의 모든 값으로 설정할 수 있으며The cost threshold for parallelism option can be set to any value from 0 through 32767. 기본값은 5입니다.The default value is 5.

항목 내용In This Topic

시작하기 전에Before You Begin

제한 사항Limitations and Restrictions

  • 비용은 추상화된 비용 단위를 나타내며 예상 시간 단위가 아닙니다.The cost refers to an abstracted unit of cost and not a unit of estimated time. cost threshold for parallelism 은 대칭적 다중 프로세서에서만 설정해야 합니다.Only set cost threshold for parallelism on symmetric multiprocessors.

  • SQL ServerSQL Server 에서는 다음 조건에서 병렬 처리에 대한 비용 임계값 값을 무시합니다. ignores the cost threshold for parallelism value under the following conditions:

    • 컴퓨터에 논리적 프로세서가 하나만 있습니다.Your computer has only one logical processor.

    • SQL ServerSQL Server 선호도 마스크 구성 옵션 때문에 에 단일 논리적 프로세서만 사용할 수 있습니다.Only a single logical processor is available to SQL ServerSQL Server because of the affinity mask configuration option.

    • 병렬 처리에 대한 비용 임계값 옵션이 1로 설정되어 있습니다.The max degree of parallelism option is set to 1.

    논리적 프로세서는 운영 체제가 태스크를 전달하거나 스레드 컨텍스트를 실행할 수 있도록 허용하는 프로세서 하드웨어의 기본 단위입니다.A logical processor is the basic unit of processor hardware that allows the operating system to dispatch a task or execute a thread context. 각 논리적 프로세서는 한 번에 하나만 스레드 컨텍스트를 실행할 수 있습니다.Each logical processor can execute only one thread context at a time. 프로세서 코어는 명령을 암호 해독하고 실행할 수 있는 기능을 제공하는 회로입니다.The processor core is the circuitry that provides ability to decode and execute instructions. 프로세서 코어에는 하나 이상의 논리적 프로세서가 포함될 수 있습니다.A processor core may contain one or more logical processors. 다음 Transact-SQLTransact-SQL 쿼리를 사용하면 시스템의 CPU 정보를 가져올 수 있습니다.The following Transact-SQLTransact-SQL query can be used for obtaining CPU information for the system.

SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs,   
cpu_count AS logicalCPUs   
FROM sys.dm_os_sys_info  

권장 사항Recommendations

  • 이 옵션은 고급 옵션으로, 숙련된 데이터베이스 관리자나 공인된 SQL ServerSQL Server 기술 지원 담당자만 변경해야 합니다.This option is an advanced option and should be changed only by an experienced database administrator or certified SQL ServerSQL Server technician.

  • 경우에 따라 쿼리 비용 계획이 현재 병렬 처리에 대한 비용 임계값 값보다 작아도 병렬 계획을 선택할 수 있습니다.In certain cases, a parallel plan may be chosen even though the query's cost plan is less than the current cost threshold for parallelism value. 이는 먼저 제공되는 비용 평가에 따라 병렬 계획 또는 직렬 계획을 사용할 것인지를 결정해야 전체 최적화가 완료되기 때문입니다.This can happen because the decision to use a parallel or serial plan is based on a cost estimate provided before the full optimization is complete.

보안Security

사용 권한Permissions

매개 변수 없이 또는 첫 번째 매개 변수만 사용하여 sp_configure 를 실행할 수 있는 권한은 기본적으로 모든 사용자에게 부여됩니다.Execute permissions on sp_configure with no parameters or with only the first parameter are granted to all users by default. 구성 옵션을 변경하거나 RECONFIGURE 문을 실행하는 두 매개 변수를 사용하여 sp_configure 를 실행하려면 사용자에게 ALTER SETTINGS 서버 수준 권한이 있어야 합니다.To execute sp_configure with both parameters to change a configuration option or to run the RECONFIGURE statement, a user must be granted the ALTER SETTINGS server-level permission. sysadminserveradmin 고정 서버 역할은 ALTER SETTINGS 권한을 암시적으로 보유하고 있습니다.The ALTER SETTINGS permission is implicitly held by the sysadmin and serveradmin fixed server roles.

SQL Server Management Studio 사용Using SQL Server Management Studio

병렬 처리에 대한 비용 임계값 옵션을 구성하려면To configure the cost threshold for parallelism option

  1. 개체 탐색기에서 서버를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.In Object Explorer, right-click a server and select Properties.

  2. 고급 노드를 클릭합니다.Click the Advanced node.

  3. 병렬 처리에서 병렬 처리에 대한 비용 임계값 옵션을 원하는 값으로 변경합니다.Under Parallelism, change the CostThresholdForParallelism option to the value you want. 0에서 32767까지의 값을 입력 또는 선택합니다.Type or select a value from 0 to 32767.

Transact-SQL 사용Using Transact-SQL

병렬 처리에 대한 비용 임계값 옵션을 구성하려면To configure the cost threshold for parallelism option

  1. 데이터베이스 엔진Database Engine에 연결합니다.Connect to the 데이터베이스 엔진Database Engine.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.From the Standard bar, click New Query.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다.Copy and paste the following example into the query window and click Execute. 다음 예에서는 sp_configure 를 사용하여 cost threshold for parallelism 옵션의 값을 10(으)로 설정하는 방법을 보여 줍니다.This example shows how to use sp_configure to set the value of the cost threshold for parallelism option to 10.

USE AdventureWorks2012 ;  
GO  
EXEC sp_configure 'show advanced options', 1 ;  
GO  
RECONFIGURE  
GO  
EXEC sp_configure 'cost threshold for parallelism', 10 ;  
GO  
RECONFIGURE  
GO  

자세한 내용은 서버 구성 옵션(SQL Server)서버 구성 옵션을 구성하는 방법에 대해 설명합니다.For more information, see Server Configuration Options (SQL Server).

후속 작업: 병렬 처리에 대한 비용 임계값 옵션을 구성한 후Follow Up: After you configure the cost threshold for parallelism option

이 설정은 서버를 다시 시작하지 않아도 즉시 적용됩니다.The setting takes effect immediately without restarting the server.

관련 항목:See Also

병렬 인덱스 작업 구성 Configure Parallel Index Operations
쿼리 힌트(Transact-SQL) Query Hints (Transact-SQL)
ALTER WORKLOAD GROUP(Transact-SQL) ALTER WORKLOAD GROUP (Transact-SQL)
affinity mask 서버 구성 옵션 affinity mask Server Configuration Option
RECONFIGURE(Transact-SQL) RECONFIGURE (Transact-SQL)
서버 구성 옵션(SQL Server) Server Configuration Options (SQL Server)
sp_configure (Transact-SQL)sp_configure (Transact-SQL)