✅ ’실행 계획’이란 ? 옵티마이저가 SQL문을 어떤 방식으로 어떻게 처리할 지를 계획한 걸 의미한다. 이 실행 계획을 보고 비효율적으로 처리하는 방식이 있는 지 점검하고, 비효율적인 부분이 있다면 더 효율적인 방법으로 SQL문을 실행하게끔 튜닝을 하
✅ 예시 테이블 생성 100만 건의 랜덤 데이터 삽입 데이터 조회해서 성능 측정하기 실행 계획 조회해보기 성능 개선을 위한 인덱스 추가 성능 측정 [이것만은 꼭 기억해두자!] - ORDER BY는 시간이 오래걸리는 작업이므로 최대한 피해주는 것이 좋다
✅ 좋아요 많은 순으로 게시글 조회하기 기본 테이블 셋팅 더미 데이터 추가 성능 개선해야 할 SQL문 실행 계획 조회해보기 성능 개선 성능 개선 후 실행 계획
✅ 특정 부서에서 최대 연봉을 가진 사용자들 조회하기 테이블 생성 100만 건의 랜덤 데이터 삽입 기존 SQL문 성능 체크하기 실행 계획 조회해보기 인덱스 추가하기 성능 측정해보기
✅ const : 1건의 데이터를 바로 찾을 수 있는 경우 조회하고자 하는 1건의 데이터를 헤매지 않고 단번에 찾아올 수 있을 때 const가 출력된다. 그러다보니 고유 인덱스 또는 기본 키를 사용해서 1건의 데이터만 조회한 경우에 const가 출력
✅ 특정 유저의 2023년 주문 데이터 조회하기 기본 테이블 셋팅 더미 데이터 추가 기존 SQL문 성능 조회해보기 실행 계획 조회해보기 성능 개선해보기
✅ 멀티 컬럼 인덱스 직접 설정해보기 테이블 생성 더미 데이터 생성 멀티 컬럼 인덱스 생성 멀티 컬럼 인덱스 생성 잘 됐는 지 확인하기 ✅ 데이터 조회할 때 인덱스를 어떻게 활용하는 지 과정 이해하기 아래 SQL문을 실행시킬 때 멀티 컬럼 인덱스를 어
✅ 인덱스 직접 설정해보기 / 성능 측정하고 비교해보기 아래의 구성과 동일하게 테이블을 셋팅해보고, 인덱스를 설정해보자. 테이블 생성 100만 건의 랜덤 데이터 삽입 데이터 조회해보기 SQL문 실행 시 걸리는 소요 시간 측정하기 인덱스 설정하기 데이터
✅ 최근 3일 이내에 가입한 유저 조회하기 테이블 생성 100만 건의 랜덤 데이터 삽입 데이터 조회해서 성능 측정하기 실행 계획 조회해보기 성능 개선을 위한 인덱스 추가 데이터 조회해서 성능 측정하기 실행 계획 조회해보기 [이것만은 꼭 기억해두자!]
✅ 멀티 컬럼 인덱스를 만들어두면 일반 인덱스처럼 활용할 수 있다. 이전에 우리는 멀티 컬럼 인덱스를 아래와 같은 구성으로 만들었다. 부서를 기준으로 먼저 정렬이 되어 있고, 그 다음 같은 부서 내에서 이름을 기준으로 정렬되어 있다. 이런 구조로 되어