실행 계획

SQL Server에서 쿼리 성능 향상하기

Dean Smith

Founder, Atamai Analytics

최적화 단계

최적화 단계

SQL Server에서 쿼리 성능 향상하기

최적화 단계

설명 포함 최적화 단계

평가되는 비용 매개변수:

  • 프로세서 사용량
  • 메모리 사용량
  • 데이터 페이지 읽기
SQL Server에서 쿼리 성능 향상하기

최적화 단계

최적화 단계와 실행 엔진

평가되는 비용 매개변수:

  • 프로세서 사용량
  • 메모리 사용량
  • 데이터 페이지 읽기
SQL Server에서 쿼리 성능 향상하기

실행 계획에서 얻는 정보

실행 계획은 다음 정보를 제공합니다:

  • 인덱스 사용 여부
  • 사용된 조인 유형
  • 다음의 위치와 상대 비용:
    • 필터 조건
    • 정렬
    • 집계
SQL Server에서 쿼리 성능 향상하기

SSMS의 추정 실행 계획

 

추정 실행 계획 SSMS 도구 모음 메뉴 항목

SQL Server에서 쿼리 성능 향상하기

SSMS의 추정 실행 계획

 

추정 실행 계획 SSMS 도구 모음 메뉴 항목과 툴팁

SQL Server에서 쿼리 성능 향상하기

SSMS에서 실행 계획 보기

SSMS의 실행 계획

SQL Server에서 쿼리 성능 향상하기

연산자 통계

실행 계획 연산자 통계

SQL Server에서 쿼리 성능 향상하기

실행 계획 읽기

실행 계획 연산자

SQL Server에서 쿼리 성능 향상하기

인덱스 예시

SELECT * 
FROM Customers
WHERE CustomerID = 'PARIS';

테이블 스캔 연산자

SELECT * 
FROM CustomersCI
WHERE CustomerID = 'PARIS';

클러스터형 인덱스 시크 연산자

SQL Server에서 쿼리 성능 향상하기

정렬 연산자 예시

SELECT FruitName, FruitType
FROM Fruits1

UNION

SELECT FruitName, FruitType
FROM Fruits2;

UNION이 포함된 실행 계획

SELECT FruitName, FruitType
FROM Fruits1

UNION ALL

SELECT FruitName, FruitType
FROM Fruits2;

UNION ALL이 포함된 실행 계획

SQL Server에서 쿼리 성능 향상하기

동일한 실행 계획인가요?

SELECT * 
FROM Customers
WHERE CustomerID IN 
    (SELECT CustomerID 
     FROM Orders);

IN과 EXISTS 실행 계획

SELECT * 
FROM Customers c
WHERE EXISTS
    (SELECT 1 
     FROM Orders o 
     WHERE c.CustomerID = o.CustomerID);

IN과 EXISTS 실행 계획

SQL Server에서 쿼리 성능 향상하기

연습해 봅시다!

SQL Server에서 쿼리 성능 향상하기

Preparing Video For Download...