DaehunGwak / study-real-mysql-2

4 stars 0 forks source link

Review 4. 9_ 옵티마이저와 힌트 (9.2, 9.3), 10_실행 계획 (10.1) #4

Open DaehunGwak opened 2 years ago

DaehunGwak commented 2 years ago

진도

9.2 기본 데이터 처리 9.3 고급 최적화 10.1 통계 정보

일정

minkukjo commented 2 years ago

MySQL의 풀 테이블 스캔

Filesort

Order by 정렬

Group by 정렬

Distinct

최적화 기법들

통계 정보

tmxkqotnl commented 2 years ago
  1. 테이블 레코드 건수가 너무 작아 풀 테이블 스캔이 더 빠른 경우
  2. 조건절에 인덱스를 사용할 적절한 조건이 없는 경우
  3. 옵티마이저가 판단하기에 조건 일치 레코드 건수가 너무 많은 경우

대부분의 DBMS의 목적은 크게,

  1. 데이터 저장 및 관리
  2. 데이터 조회

이를 도와주는(달성해주는) mysql의 옵티마이저

테이블 및 인덱스 통계 정보

히스토그램

히스토그램의 용도

코스트(cost) 모델

MySQL 서버는 사용자 쿼리에 대해 위의 작업들이 얼마나 필요한지 예측하고 전체 비용을 바탕으로 최적의 실행 계획을 찾는다.

DaehunGwak commented 2 years ago

9.2 기본 데이터 처리

풀 테이블 스캔과 풀 인덱스 스캔

ORDER BY (Using filesort)

GROUP BY

내부 임시 테이블 활용

9.3 고급 최적화

10.1 통계 정보