[TIL] 230215
in TIL on PRE-ONBOARDING
✏️ Check Box
📌 정리
이번 강의 서두에는 흥미로운 내용으로 시작했다. SELECT
쿼리 사용시에 실행되는 순서에 대한 것이다.
FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT
SQL 쿼리 작성하면서 어떤 순서로 진행될까에 대한 궁금증을 해소해주었다. 또한 EXPLAIN
명령을 통해 테이블의 형태로 표현된 작성한 SQL의 실행 계획을 분석하는 방법을 소개해주셨다.
대략적으로 실행계획 테이블의 컬럼은 다음과 같이 구성되어 있다.
컬럼 | 의미 |
---|---|
id | SELECT 쿼리별 식별자 |
select_type | SELECT 쿼리의 타입 |
table | 접근하고있는 Table |
partitons | 파티셔닝 되어있는 필드 |
type | Table의 레코드 접근 방식 |
key | 실행 계획에서 사용되는 인덱스 |
rows | 효율성 판단을 위해 예측한 레코드 건수 |
Extra | Optimizer가 어떻게 동작하는지 (중요) |
그리고 기존에 알고 있던 JOIN 들을 DBMS에서 직접 시연하고 실행계획을 분석했고, 이 외에도 Subquery, 내장함수(AVG, SUM, MAX, MIN 등), CASE 문까지 시연해주셨다.
사실 다른것보다도 실행계획
을 확인해서 내가 작성한 쿼리가 어떻게 실행될 것으로 예측하는 것이 이번 강의에서 제일 흥미로웠던 부분이었다. 이제 제일 흥미로울 것이라 생각했던 마지막 강의인 인덱스 부분만 남았다…
Back to [TIL] 230210