SQL Server 성능 튜닝과 쿼리 최적화 과정

기업의 핵심 비즈니스를 지원하기 위해 운영되는 SQL Server의 중요성은 점점 커지고 있습니다. SQL Server는 처음에는 배우기 쉽지만, 공부하고 경험할수록 어려워지는 경향이 있습니다. 하지만 체계적인 이론 학습과 실습을 병행한다면 안정적으로 SQL Server 운영할 수 있는 전문가가 되는 것이 그렇게 어려운 것 만은 아닙니다. 본 과정은 SQL Server 관리 기능을 단순히 나열한 기존 과정들과는 전혀 다릅니다. 십여 년 간의 강의와 컨설팅, 집필, 커뮤니티 활동을 통해 진정으로 현장에서 필요한 지식이 무엇인지 확인할 수 있었으며, 그러한 기반 위해 본 과정을 준비하였습니다. 초보자부터 실제 서버 운영 경험이 있는 모든 분에게 실질적인 도움이 되는 내용으로 강의를 진행합니다. 현장에서 경험한 다양한 상황들을 간접 경험하며, 미래에 발생할 수 있는 문제점들을 미리 파악하고, 실전에서 대처할 수 있는 능력을 갖추는데 탄탄한 디딤돌이 되는 과정이 될 것입니다.

학습 목표

  • 서버 수준과 데이터베이스 수준의 구성을 튜닝할 수 있습니다.
  • 인덱스 개념을 명확히 이해하고 적절한 인덱스를 만들 수 있습니다.
  • 데이터 정규화와 역정규화 의미를 명확히 이해하고 구현할 수 있습니다.
  • 조인과 하위 쿼리에 대해 명확히 이해하고 활용할 수 있습니다.
  • 통계가 무엇인지 이해하고 성능을 위해 최적으로 관리할 수 있습니다.
  • 고부하 쿼리를 추출하고 튜닝할 수 있습니다.
  • 다양한 쿼리 작성 기법을 이해하고 활용할 수 있습니다.
  • 잠금을 모니터링하고 관리할 수 있습니다.
  • 성능을 모니터링하고 관리할 수 있습니다.

학습 대상

  • 중급 SQL Server 데이터베이스 개발자
  • 중급 SQL Server 데이터베이스 관리자

세부 내용

1일차

1. 튜닝 이야기
– 튜닝은 예술이다
– 일반적인 성능 문제
– 성능 최적화 모델
– 돌고 도는 튜닝 과정
2. 서버와 데이터베이스 최적화
– SQL Server에 대한 이해
– 데이터베이스에 대한 이해
– 운영체제 수준 구성 최적화
– SQL Server 수준 구성 최적화
– 데이터베이스 수준 구성 최적화

2일차

3. 인덱스 개념 정리
– 힙(Heap)과 클러스터 형 인덱스
– 비 클러스터 형 인덱스
– 인덱스 구조
– 인덱스 해부하기
– 다양한 형태의 인덱스들
– 성능 향상을 위한 인덱스 유지 관리
4. 데이터 모델링 이야기
– RDBMS와 모델링
– 개념적 데이터 모델링
– 논리적 데이터 모델링
– 물리적 데이터 모델링
– 데이터 정규화와 역정규화

3일차

5. 쿼리 최적화 – 1단계
– 쿼리의 논리적 흐름
– 논리적 조인과 물리적 조인
– 통계란 무엇인가?
– 통계가 가지고 있는 것
– DMV를 사용해 현재 통계 업데이트 상황 확인
– 다양한 통계 관리 방법
– 통계 관리 자동화
6. 쿼리 최적화 – 2단계
– 좋은 쿼리와 나쁜 쿼리
– 핵심! 쿼리문 작성시 고려사항
– DMV를 사용해 고부하 쿼리 모니터링
– 성능 개선을 위한 쿼리문 작성 지침
– 저장 프로시저와 실행 계획 이해
– 매개변수 스니핑 원인과 해결 방안
– 기타 쿼리 최적화를 위해 알아 둘 중요 사항들
– 쿼리문 작성 지침 – 상세

4일차

7. 성능 모니터링
– 모니터링할 중요 자원 이해
– Activity Monitor로 잠금 상황 확인
– Performance Monitor로 성능 정보 수집
– 템플릿을 사용한 성능 모니터링 자동화
– 중요 성능 카운터에 대한 이해
– SQL Server Profiler로 고부하 쿼리 수집
– 쿼리 추적용 저장 프로시저 만들어 사용하기
– 주요 쿼리 이벤트에 대한 이해
– 엑셀 차트를 사용해 성능 정보 분석
8. 잠금 모니터링
– 트랜잭션과 잠금
– 잠금 최소화를 위한 힌트 사용
– DMV를 사용해 현재 잠금 정보 확인
– 추적 플래그를 사용해 교착상태 정보 확인

관련 교육 센터

webtime
multicampus
learningway