S/W 개발자를 위한 성능 좋은 쿼리 작성법

 

교육 대상

o    프로젝트를 앞둔 초중급 개발자

o    솔루션 개발자

o    쿼리 성능에 관심 있는 초중급 개발자

o    쿼리 작성 표준이 필요한 관리자

 

선수 지식

o    SQL Server 기초 지식

 

교육개요 목적

고부하 쿼리는 DB성능 문제의 주요 원인이 됩니다. 개발 초기에 결과 위주로 작성된 쿼리가 데이터 증가와 함께 성능 문제를 유발하게 되는 것이 일반적입니다. 인덱스와 쿼리 튜닝 자체는 DBA나 성능 관리자에 역할이지만 인덱스와 쿼리 튜닝을 위해서 작성 및 구현 단계에서부터 기본적으로 해 주어야 할 규칙, 금기 사항 및 작성법이 있습니다. 본 과정에서는 개발자가 쿼리 구현 단계에서 고려해야 할 여러 가지 규칙들과 권장 사항들을 배울 수 있으며 이로 인해 더 좋은 품질과 유지 보수가 용이한 쿼리를 구현하는 방법들을 배울 수 있습니다.

 

교육 특징

본 과정을 이수한 후 다음 지식들을 습득할 수 있다.

  1. 성능 좋은 쿼리를 위한 기본 규칙들과 금기 사항들을 학습
  2. 품질 좋은 쿼리 작성을 위한 기본 지식들
  3. 실무 사례들의 간접적인 경험

 

교육 기간: 1 일

 

상세 교육 내용

소개

1 – 기본 고려사항

  • WHERE절 순서
  • JOIN절 순서
  • 날짜시간 상수
  • Char vs. varchar
  • 데이터 형식 이슈
  • 조인 조건 vs. 검색 조건

 

2 – 쿼리 금기사항, Non-SARG

  • SARG
  • Non-SARG 사례 분석
  • 조건절 상수화 이슈

 

3 – 더 좋은 쿼리 작성하기 (SQL, Join, SubQuery, CTE)

  • IN vs. BETWEEN
  • TOP (N)
  • 집계 함수와 NULL
  • 불필요한 GROUP BY 열
  • UNION vs. UNION ALL
  • Nested Loop JOIN 이해
  • 불필요한 OUTER JOIN
  • Subquery 이해
  • Subquery 적용 예
  • 파생 테이블, CTE, APLLY 활용
  • 차집합 – NOT IN 사용 주의
  • CTE 재귀쿼리 활용

 

4 – Cursor, 뷰, 함수

  • Cursor 고려사항
  • 만능 View 주의
  • 사용자 정의 함수 성능 문제 이해