[sql] SQL 데이터베이스 이벤트 대기열을 사용하여 쿼리 컴파일 최적화하는 방법은?

쿼리 컴파일 최적화는 SQL 쿼리의 실행 계획을 최적화하여 성능을 향상시키는 프로세스입니다. 이벤트 대기열은 SQL Server 데이터베이스 엔진에서 쿼리 컴파일 최적화를 제어하는 데 사용되는 설정입니다.

  1. SQL Server Management Studio(SSMS)를 열고 원하는 데이터베이스에 연결합니다.
  2. 새 쿼리 창을 열고 다음 쿼리를 실행하여 현재 이벤트 대기열 설정을 확인합니다.

    SELECT * FROM sys.configurations WHERE name = 'optimize for ad hoc workloads';
    
  3. 이벤트 대기열 설정이 0이면, 이벤트 대기열이 비활성화 되어 있는 상태입니다. 이 경우 쿼리 컴파일 최적화를 위해 이벤트 대기열을 사용하도록 설정해야 합니다.
  4. 다음 쿼리를 실행하여 이벤트 대기열을 사용하도록 설정합니다.

    EXEC sp_configure 'show advanced options', 1;
    RECONFIGURE;
    EXEC sp_configure 'optimize for ad hoc workloads', 1;
    RECONFIGURE;
    
  5. 이제 쿼리 컴파일 최적화를 위해 이벤트 대기열을 사용할 수 있습니다.

이벤트 대기열을 사용하면 서버에 처음으로 전달되는 쿼리의 실행 계획을 기록하여 재사용할 수 있습니다. 이를 통해 자주 실행되는 쿼리의 성능이 향상됩니다. 하지만 이벤트 대기열 사용을 활성화하는 경우에는 쿼리의 실행 계획이 처음부터 생성되므로 일부 작은 쿼리의 실행 계획이 재사용되지 않을 수도 있습니다.

참고 문서: