LeeYulhee.log
로그인
LeeYulhee.log
로그인
EXPLAIN과 DB 옵티마이저
LeeYulhee
·
2023년 11월 1일
팔로우
0
sql
0
👉 SQL문에서 EXPLAIN
📌 EXPLAIN의 정의
MySQL 같은 RDBMS에서 SQL 쿼리의 실행 계획을 확인하기 위한 명령어
EXPLAIN을 사용하면 데이터베이스가 쿼리를 어떻게 처리할 것인지에 대한 계획을 볼 수 있음
📌 실행 계획에 포함되는 정보
어떤 인덱스가 사용될지
데이터가 어떤 순서로 스캔될지
조인이 어떻게 수행될지
예상되는 처리 행 수 등
📌 작성 예시
EXPLAIN
SELECT
*
FROM
users
WHERE
user_id
=
1
;
👉 DB 옵티마이저
📌 옵티마이저의 정의
데이터베이스 관리 시스템(DBMS)의 구성 요소
주어진 쿼리를 어떻게 가장 효과적으로 실행할 것인지를 결정
옵티마이저의 주 목적은 쿼리의 실행 시간을 최소화하면서 결과의 정확성을 보장하는 것
📌 옵티마이저 실행 과정
여러 가능한 실행 전략들을 고려
각 전략의 비용을 추정
가장 효율적인 실행 전략을 선택
📌 옵티마이저 중요성
통계 정보(테이블의 크기, 인덱스의 구조, 데이터의 분포 등)를 사용하여 최적의 계획을 선정
따라서, 데이터베이스의 통계 정보를 최신으로 유지하는 것이 중요
👉 EXPLAIN과 옵티마이저의 관계
EXPLAIN은 옵티마이저가 결정한 쿼리의 실행 계획을 검토할 때 사용하는 도구
예를 들면, EXPLAIN 결과를 통해 사용되지 않는 인덱스나 불필요한 전체 테이블 스캔과 같은 비효율적인 쿼리 작성 부분을 발견하고 개선할 수 있음
옵티마이저는 쿼리를 최적으로 실행하기 위한 계획을 만드는 역할
LeeYulhee
끝없이 성장하고자 하는 백엔드 개발자입니다.
팔로우
이전 포스트
TIMESTAMP 데이터를 String으로 변환하기
다음 포스트
기본 SELECT SQL문 처리 순서
0개의 댓글
댓글 작성