Thumbnail
BEST
개발 · 프로그래밍 데이터베이스

SW 개발자를 위한 성능 좋은 SQL 쿼리 작성법 대시보드

(4.7)
54개의 수강평 ∙  940명의 수강생
132,000원

월 26,400원

5개월 할부 시
지식공유자: 김정선SQL
총 34개 수업 (6시간 12분)
수강기한: 
6개월
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

중급자를 위해 준비한
[데이터베이스] 강의입니다.

SQL Server 전문가로부터 SQL 개발 단계에서 성능을 고려한 쿼리 작성법을 배우는 과정입니다. 쿼리 성능 요건을 만족하기 위한 기본 사항들을 실무 사례와 함께 습득할 수 있습니다.

✍️
이런 걸
배워요!
성능 좋은 쿼리를 작성하기 위한 기본 규칙들과 금기 사항들 학습
품질 좋은 쿼리 작성을 위한 기본 지식들
공통적인 실무 사례들의 간접적인 경험

쿼리 작성이 성능과 품질을 가른다!
실무 중심으로 탄탄하게 익혀보세요. 👨‍💻

잘못 작성된 쿼리 몇 줄이 
성능 문제를 일으킨다고요?

성능 측면에서 잘못 작성된 쿼리는 DB 성능과 서비스 성능 저하를 유발하는 주요 원인이 됩니다. 개발 초기에 결과 위주로 작성된 쿼리나 SQL Server에 적합하지 않은 구현차후 데이터 증가와 함께 성능 문제를 유발하는 것이 일반적이죠.

그래서, 품질 좋은 쿼리 작성이 중요합니다!

  • 성능 좋은 쿼리를 작성하기 위한 기본 규칙들과 금기 사항들
  • 품질 좋은 쿼리 작성을 위한 기본 지식들
  • 공통적인 실무 사례들의 간접적인 경험

SW 개발자로서 프로젝트나 솔루션 등의 개발 시에 어떤 유형의 쿼리나 구현이 차후 성능 문제를 유발할 수 있는지를 이해하고 실무에 바로 적용할 수 있도록 관련 지식과 경험을 공유하고 싶습니다.


이런 분들께 
추천합니다.

SQL Server 
초중급 개발자

SQL
쿼리 사용자

IT 프로젝트에
주로 참여하는 개발자

쿼리 성능에
관심 있는 초~
중급 사용자

쿼리 최적화를
고민하는
솔루션 개발자

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

쿼리 작성법, 꼭 알아야 하는 세 가지 이유! 

  • 1️⃣ 실무에서 쿼리 구현 및 작성 시에 성능을 고려해 더 좋은 쿼리를 사용할 수 있습니다.
  • 2️⃣ 성능 이슈가 예상되는 쿼리에 대해 DB 담당자나 현업과 협의할 수 있습니다.
  • 3️⃣ 쿼리 튜닝을 학습하는데 도움이 됩니다.

더 좋은 품질
더 나은 유지 보수를 위해.

인덱스와 쿼리 튜닝을 위해서 개발 및 구현 단계에서부터 기본적으로 해주어야 할 규칙, 금기사항 및 작성법이 있습니다.

본 교육에서는 개발자가 쿼리 구현 단계에서 고려해야 할 여러 가지 규칙들과 권장 사항들을 배울 수 있으며 이로 인해 더 좋은 품질유지 보수에 용이한 쿼리를 구현하는 데 도움을 얻을 수 있습니다. 특히 SQL Server를 전문적으로 오랫동안 컨설팅 및 강의 경험을 가진 지식공유자가 각 주제별로 실무에서 공통적으로 나타나는 예제들을 샘플로 사용하므로 교육 후 실무 활용에 직접적인 도움이 됩니다.

SQL Server
사용 초보인데
수강을 해도 될까요?

SQL 기초는 알고 있어야 내용을 이해하고 따라하는데 수월하실 겁니다, 혹시 중간에 잘 모르는 내용이 있다면 해당 구문/명령/문법에 대해서 학습을 하시고 다시 들으시면 이해에 도움이 되실 겁니다. 혹은 Q/A를 이용하셔도 되겠죠 😊

MySQL,
PostgreSQL 등
다른 DBMS
개발할 때도
적용될 수 있을까요?

DBMS마다 인덱스, 통계정보, 잠금, 쿼리 최적화 등의 아키텍처에 세밀한 차이가 있어 SQL Server를 기준으로 한 본 강의 내용이 100% 동일하게 적용되지는 않습니다. 그러나 상당히 많은 내용들이 다른 DBMS에서도 적용된다고 말씀드릴 수 있습니다.

SQL Server
버전에 따라서도
차이가 있을까요?

거의 대부분의 내용들은 현재 주로 사용하는 버전들을 기준으로 거의 차이가 없습니다. 일부 차이가 있는 부분은 강의에서 설명드립니다.


다음 내용을 
학습합니다.

1. 쿼리 작성 기본 사항

  • 운영 DB에서 SSMS나 개발 도구 쓸 때 조심하세요~
  • WHERE절과 JOIN절의 작성 순서는 성능에 영향을 미칠까요?
  • 날짜시간 리터럴이나 문자열 리터럴 및 검색은 어떻게 하는 것이 좋을까요?
  • 조인 조건과 검색 조건은 어떻게 구분해서 적용할까요?
  • 내가 지금까지 사용한 쿼리가 혹시 “의미 오류”에 해당될까?

2. 쿼리 금기 사항

  • 성능 상 좋은 조건식은 어떤 형식으로 작성해야 할까요?
  • 쿼리 금기사항이 있다? 혹시 나도 습관적으로?
  • 로컬 변수, 사용자 정의 함수 WHERE 절에 쓰면 위험하다고?

3. 더 좋은 쿼리 작성하기

  • IN과 BETWEEN 누가 빠른가요? 언제 누구를 쓰는게 좋을까?
  • 집계함수의 주인공은 NULL
  • UNION(합집합), ALL 쓸까요? 뺄까요?
  • UPDATE하고 또 SELECT? 그냥 한 방에
  • SQL Server의 새로운 함수와 구문들 짱 좋아요^^
  • 조인 구문은 어떻게 작성할까요? 불필요한 OUTER JOIN이 성능 문제를?
  • Subquery는 무조건 느리다구요? 잘 쓰면 약이에요
  • 쿼리 튜닝 핵심 기능, 파생테이블/CTE/APPLY 맛보기
  • CASE 안에 SELECT 문? 아니 거꾸로 쓰세요
  • 차집합 쿼리 필요하세요? NOT IN은 특히 주의하세요
  • 재귀호출 쿼리, CTE 잘 활용하세요
  • 쿼리 힌트 쓴다구요? 조심하세요~
  • SQL Server에서 쿼리는 잠금 이슈를 꼭 챙기세요~

4. 커서, 뷰, 사용자 정의 함수 구현 시 고려사항

  • Cursor? 가능한 SQL로 구현하세요, 그래도 필요하다면…
  • STRING_AGG() 함수 모르셨다구요? 깜짝 놀라실걸요
  • 가제트 만능 팔! 아니 만능 View? 조심하세요~
  • 사용자 정의 함수와 대량 검색이 만나면 많~이 무거워져요
  • FORMAT() 함수? 대량 검색에서 조심 조심
  • (부록) .NET EF, EF Core와 같은 ORM 쓰시나요? 조언드립니다

안녕하세요! 
지식공유자 김정선입니다.

이력 사항

  • ㈜씨퀄로(www.sqlroad.com ) 대표컨설턴트/이사 (2005년부터)
    • SQL Server 컨설팅, 기술지원, 강의, 솔루션 개발
  • SQLBigEyes (SQL Server 성능 모니터링 솔루션, www.sqlbigeyes.com ) 개발   
    • SQLBigEyes (SQL Server 성능 모니터링 솔루션, www.sqlbigeyes.com ) 개발
  • Microsoft Data Platform MVP
    • 2002년부터 (현재 2023년 기준) 22년간 수상, 2008년 MVP 공로상 수상

자격 및 인증

  • MCT, Azure DBA, MCITP 외 다수

강의 활동 (1999년부터)  

외부 활동

  • SQL Server MVP Deep Dives Vol 2(Manning Pubs) 공동 저자 참여
  • 김정선의 SQL Server 컨설팅 이야기 시즌 13년간 진행 중
  • SQL Unplugged 세미나 5년간 진행
  • SQL PASS Korea Chapter Leader
  • Microsoft Ignite, BITEC, Tech Camp, MVP Camp, TechEd, MSDN 등 Speaker 참여

자주 묻는 질문을 
확인해보세요.

Q. 비전공자도 들을 수 있는 강의인가요?

SQL의 기초나 사용 경험이 있다면 들을 수 있습니다. 조금 부족하더라도 수강 중에 필요한 기초를 병행 학습하시면 될 겁니다.

Q. 강의를 듣기 전 준비해야 할 것이 있나요?

SQL Server에서 제공하는 SSMS 프로그램이나 혹은 쿼리 사용이 가능한 유사 프로그램을 설치해 두시고 제공되는 데모용 DB와 SQL 스크립트를 미리 다운로드 해 두시면 됩니다. 데모 DB 구성은 교육에서 설명드립니다.

Q. 수강 관련 참고 사항(갖춰야 할 환경, 기타 유의사항 등)이 있나요?

데모 및 과제 수행을 위해 SQL Server가 필요합니다. 가능하면 최신 버전(2021년 현재 기준 2019)이 좋고 이전 버전도 괜찮습니다.


이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
SQL Server 초중급 개발자
솔루션 개발자
IT 프로젝트에 주로 참여하는 개발자
쿼리 성능에 관심 있는 초중급 개발자
쿼리 작성 표준이 필요한 관리자
📚
선수 지식,
필요할까요?
SQL 기초

안녕하세요
김정선SQL 입니다.
김정선SQL의 썸네일

(주)씨퀄로 대표컨설턴트/이사, SQLBigEyes 솔루션 개발자
Microsoft Data Platform MVP (Award, 2002 이후~현재)
MCT, Azure DBA, MCITP, MCDBA
SQL PASS Korea Chapter Leader

Email: jskim@sqlroad.com
Homepage: www.visualdb.net (인프런 쿠폰 코드 제공)
Youtube: 김정선 SQL TV
강의: 스킬서포트교육센터@서울,  부산정보산업진흥원@부산

커리큘럼 총 34 개 ˙ 6시간 12분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 과정 소개
과정 소개 미리보기 12:16
데모 DB 생성 및 스크립트 소개 04:26
섹션 1. 기본 고려사항
공통적인 성능/관리 이슈, SQL 금기사항 위반 결과 등 미리보기 13:40
소개 04:47
실행계획-인덱스 사용여부 판단, IO 량 확인하기 미리보기 15:59
(부록)MySQL(MariaDB)과 PostgreSQL에서 실행계획과 인덱스 사용 확인 10:35
개발 및 관리 도구 사용 주의, ANSI ISO 표준 11:16
WHERE 절과 JOIN 절 작성 순서, 스키마 이름 지정 15:27
날짜시간 상수 이해, char vs. varchar 이해, 조건절 명확한 괄호 14:45
조인조건 vs. 검색조건, 임의 쿼리 식별자 달기 12:08
의미 오류는 잠재적인 성능 이슈 19:04
섹션 2. 쿼리 금기사항
소개 미리보기 04:32
SARG 란? 05:58
Non-SARG, 불필요한 열/행 참조, Index 열에 부정형 사용 주의 16:17
Non-SARG, Index 열 값 변형 11:52
Non-SARG, Index 열에 LIKE 05:30
Non-SARG, 열 값 비교 사례 05:45
조건절 상수화 이슈(로컬변수, 사용자정의함수), 테이블 변수 최적화 이슈 17:27
섹션 3. 더 좋은 쿼리 작성하기
소개 03:09
IN vs. BETWEEN, TOP(N) 08:43
집계함수와 GROUP BY, UNION vs. UNION ALL 15:32
UPDATE 결과 열 값 반환, DML 결과 행 반환, 새로운 구문/함수 활용 08:01
OLTP용 JOIN 쿼리, 조인 열 변형 이슈, 불필요한 OUTER JOIN 23:21
언제 Subquery를 사용할 것인가? 09:47
파생테이블, CTE, APPLY 활용, CASE 내부 Subquery 주의 12:22
차집합 NOT IN, CTE 재귀호출 활용, 쿼리 힌트 사용 주의 07:45
UPDATE SET 절 불필요한 열 참조, 잠금 차단 회피하기 15:18
(부록)Demo-SELECT 쿼리 잠금 차단 회피 09:43
섹션 4. 커서, 뷰, 사용자 정의 함수 구현
소개 05:11
Cursor, 꼭 써야한다면 09:58
만능 View 위험, 과다 중첩 View, View Non-SARG 09:54
User Defined Function 성능 문제 이해와 구현, FORMAT() 부하 22:26
마무리 05:05
(부록)ORM 사용 시 쿼리 점검 04:09
강의 게시일 : 2021년 12월 10일 (마지막 업데이트일 : 2023년 08월 21일)
수강평 총 54개
수강생분들이 직접 작성하신 수강평입니다.
4.7
54개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
mhryu thumbnail
5
잘봤습니다.
2021-12-17
지식공유자 김정선SQL
수강평 고맙습니다~ :D
2021-12-17
dreamania thumbnail
5
너무 좋은 강의 감사합니다^^ 이 강의만 충분히 이해하면 성능이슈 쿼리의 80%이상은 사라질 거 같네요!!!
2021-12-22
지식공유자 김정선SQL
좋은 평가에 감사드립니다~ :D
2021-12-23
쌍문동꿀주먹 thumbnail
5
sql지식을 쌓는데 큰 도움이 되었습니다. 고급 과정도 시청 계획입니다.
2024-04-03
지식공유자 김정선SQL
안녕하세요 쌍문동꿀주먹님, 큰 도움이 되셨다니 기쁩니다 :D 즐거운 SQL 공부되세요~ 김정선 드림
2024-04-03
eleisn64 thumbnail
5
잘들었습니다. 감사합니다.
2024-03-31
지식공유자 김정선SQL
eleisn64님, 좋은 수강평 감사합니다. 편안한 하루 보내세요~ 김정선 드림
2024-04-01
result thumbnail
3
mysql 에서 좋은 쿼리를 작성하기 위해 수강을 하였는데요, sql server 기반으로 동영상 강의가 제작되어 일부 동영상 강의는 별 도움이 되지 못했으며, 일부 중요한 내용들도 쿼리 튜닝 강의로 대체한다는 내용이 아쉬웠습니다. 하지만 제가 몰랐던 내용을 알게 된 내용은 좋았습니다. mysql 다루는 사람들에게는 추천하지는 못하겠지만 sql server 를 다루시는 분들에게는 좋은 강의 인듯 합니다.
2023-01-01
지식공유자 김정선SQL
안녕하세요, result님 제 설명보다 더 좋은 실제 경험담을 올려주시니 감사합니다! 비슷한 조건을 가진 분들이 과정을 판단하는데 도움이 되겠습니다. 부분적으로나마 도움이 되셨다니 다행입니다. 고맙습니다~ 김정선 드림
2023-01-01