성능 최대화로 속도 및 효율성 향상

완료됨

SQL Server 2025에는 쿼리 처리 및 성능 최적화 개선 사항이 포함됩니다. 이 단원에서는 쿼리 처리 기능, 리소스 거버넌스 및 유지 관리 기능을 다룹니다.

IQP를 사용하여 쿼리 처리 최적화

SQL Server 2025년은 기존의 계획 최적화와 AI 기반 인사이트 및 최신 데이터 형식에 대한 지원을 결합하여 IQP(Intelligent Query Processing) 를 한 단계 더 끌어올립니다. 이러한 향상된 기능을 통해 엔진은 워크로드 패턴에 동적으로 적응하고, JSON 및 RegEx와 관련된 쿼리를 최적화하고, 기계 학습을 사용하여 실행 전략을 미세 조정할 수 있습니다. 개발자와 DBA의 경우 이는 수동 튜닝 없이 실시간 분석 및 반구조화된 데이터에 대한 더 빠른 쿼리, 더 나은 동시성 및 향상된 성능을 의미합니다.

쿼리 프로세서는 워크로드 패턴 및 시스템 리소스에 따라 실행 계획을 최적화합니다. 주요 개선 사항은 다음과 같습니다.

특징 설명 이익
최적화된 잠금 향상된 동시성 제어 메커니즘 향상된 다중 사용자 액세스
할로윈 보호 간소화된 업데이트/삭제 작업 수정에 대한 오버헤드 감소
재사용 계획 더 나은 sp_executesql 구현 보다 일관된 동적 SQL 성능
적응형 실행 런타임 계획 조정 다양한 데이터에 대한 최적의 성능
옵션 매개 변수 계획 최적화(OPPO) NULL 및 NOT NULL 매개 변수를 기반으로 런타임 시 최적의 계획을 선택합니다. 선택적 매개 변수를 사용하여 쿼리 성능 향상
식에 대한 Cardinality Estimation(CE) 피드백 이전 실행에서 반복 식에 대한 카디널리티 예상치를 구체화하는 방법을 알아봅니다. 더 정확한 예측, 더 나은 계획 선택
OPTIMIZED_SP_EXECUTESQL `sp_executesql을 저장 프로시저처럼 처리하여 컴파일 폭풍을 줄입니다.` 많은 쿼리 로드에서 안정성 및 성능 향상

Query Store 사용하여 성능 모니터링

Query Store는 시간에 따른 쿼리 성능을 추적하고 회귀 문제를 검색하는 데 도움이 됩니다.

SQL Server 2025의 Query Store 기능은 다음과 같습니다.

  • 보조 복제본에 대한 성능 모니터링

    • 읽을 수 있는 보조 복제본에서 쿼리 성능 추적
    • Always On 가용성 그룹에 대한 지원
    • 분산 환경에서 일관된 모니터링
  • 자동 쿼리 최적화

    • 쿼리 회귀 검색 및 수정
    • 쿼리 패턴을 기반으로 하는 인덱스 권장 사항
    • 계획 개선 제안
  • 분산 워크로드 인사이트

    • 데이터베이스 간 쿼리 모니터링
    • 복제본 간 성능 추적
    • 리소스 사용량 분석

팁 (조언)

가장 활동적인 데이터베이스에서 Query Store 사용하도록 설정하여 성능 기준을 빌드하고 최적화 기회를 식별합니다.

고급 쿼리 기능 구현

SQL Server 2025는 고급 쿼리 기능을 간단하고 강력하게 만듭니다. 이러한 향상된 기능에는 매개 변수에 민감한 계획 최적화, 카디널리티 예측 피드백, 적응 병렬 처리 및 분석을 위한 일괄 처리 모드 개선이 포함됩니다. 또한 개발자는 선택적 매개 변수 계획 및 새 쿼리 힌트를 사용하여 더 세밀하게 제어할 수 있으므로 수동 개입을 줄이면서 다양한 워크로드에서 쿼리가 효율적으로 실행되도록 합니다.

이러한 기능을 사용하여 데이터베이스 애플리케이션의 특정 성능 시나리오를 해결합니다.

SQL Server 2025에는 다음과 같은 쿼리 처리 개선 사항이 포함됩니다.

  • PSP(매개 변수 중요 계획) 최적화: 매개 변수 값 패턴에 따라 여러 실행 계획을 자동으로 만들고 유지 관리하므로 매개 변수 값이 다양한 쿼리의 성능이 향상됩니다.
  • 기본적으로 DOP(병렬 처리 수준) 피드백: 기록 쿼리 성능에 따라 병렬 실행 설정을 자동으로 조정하여 리소스 사용률을 최적화합니다.
  • 분석을 위한 일괄 처리 모드 최적화: 향상된 벡터화된 작업 및 메모리 효율성을 통해 분석 쿼리 성능을 향상시킵니다.
  • 선택적 매개 변수 계획 최적화: 선택적 매개 변수를 사용하여 쿼리에 대한 효율적인 실행 계획을 생성하여 동적 SQL의 필요성을 줄입니다.
  • ABORT_QUERY_EXECUTION 쿼리 힌트: 쿼리 실행에 대한 세분화된 제어를 제공하여 특정 작업을 의도적으로 종료할 수 있도록 합니다.

리소스 관리 및 유지 보수

DBA에 더 많은 제어를 제공하고 수동 작업을 줄이면서 안정성, 속도 및 유지 관리의 용이성을 향상시키는 것을 목표로 하는 새로운 기능입니다. 이러한 기능을 통해 DBA는 시스템 리소스를 더 크게 제어하고, 일상적인 작업을 자동화하고, 예기치 않은 이벤트 중 가동 중지 시간을 최소화할 수 있습니다.

이러한 기능을 함께 사용하면 최신 데이터 환경에 대한 효율성과 복원력이 향상됩니다.

  • Tempdb 공간 리소스 거버넌스: 워크로드 그룹당 tempdb 공간 사용량을 제어하고 제한하여 런어웨이 쿼리가 과도한 임시 스토리지를 사용하지 못하도록 방지
  • tempdb의 ADR(가속 데이터베이스 복구): 예기치 않은 종료 후 tempdb를 빠르게 복구하여 데이터베이스 가동 중지 시간을 줄이고 시스템 가용성을 개선합니다.
  • Linux에서 tempdb에 대한 지원: Linux에서 메모리 지원 임시 파일 시스템을 사용하여 tempdb 성능 향상 및 I/O 대기 시간 단축
  • Columnstore 인덱스 유지 관리 개선 사항: 더 나은 압축 및 보다 효율적인 세그먼트 제거를 포함하여 columnstore 인덱스에 대한 향상된 유지 관리 작업
  • 자동화된 변경 내용 추적 정리: 변경 내용 추적 테이블의 자동 유지 관리, 수동 오버헤드 감소 및 최적의 성능 보장
  • 데이터베이스에서 In-Memory OLTP를 제거합니다. 더 이상 필요하지 않은 경우 데이터베이스에서 메모리 최적화 테이블 및 고유하게 컴파일된 모듈을 제거하는 간소화된 프로세스