오라클 SQL · 객체와 성능

실행 계획과 SQL 튜닝 기초

좋은 SQL은 정답만 맞는 SQL이 아니라, 같은 정답을 더 효율적으로 만드는 SQL이다. 실행 계획과 튜닝 기초를 이해하면 왜 어떤 문장이 느린지 읽을 수 있게 된다.

실행 계획과 SQL 튜닝 기초 대표 이미지

이 글에서 꼭 잡아야 할 것

좋은 SQL은 정답만 맞는 SQL이 아니라, 같은 정답을 더 효율적으로 만드는 SQL이다. 실행 계획과 튜닝 기초를 이해하면 왜 어떤 문장이 느린지 읽을 수 있게 된다.

튜닝은 마법 같은 비법이 아니라, SQL 구조를 더 효율적으로 바꾸는 작업이다. 느린 이유를 보려면 실행 계획을 읽을 줄 알아야 하고, 그러려면 지금까지 배운 조회, 조인, 함수, 인덱스 개념이 한 번에 연결되어야 한다. 마지막 챕터는 그 연결 고리를 만드는 시간이다.

난이도 고급
모듈 객체와 성능
학습 시간 12분
핵심 키워드 Execution Plan, Full Scan, Index Scan

개념 지도와 이해 포인트

실행 계획 읽기 실행 계획은 옵티마이저가 SQL을 어떤 단계로 처리할지 보여 주는 청사진이다. 어떤 테이블을 먼저 읽고 어떤 방식으로 조인하는지 파악할 수 있다.
접근 방식 전체 테이블 스캔과 인덱스 스캔은 대표적인 접근 방식이다. 데이터 양과 조건 선택도에 따라 유리한 방식이 달라진다.
튜닝 기본 원칙 필요한 컬럼만 조회하고, 조건을 명확히 쓰고, 함수 적용과 불필요한 정렬을 줄이는 것이 가장 기본적인 튜닝 출발점이다.
실행 계획과 SQL 튜닝 기초 개념 다이어그램

대표 문법 패턴

EXPLAIN PLAN FOR
SELECT e.employee_id, d.department_name
FROM employees e
JOIN departments d
  ON e.department_id = d.department_id
WHERE e.last_name = 'King';

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

문법 읽는 포인트

  • 실행 계획은 SQL 결과가 아니라 처리 경로를 보여 준다.
  • 조건 컬럼과 인덱스 관계를 함께 봐야 접근 방식을 해석할 수 있다.
  • 튜닝은 문장을 더 짧게 만드는 일이 아니라 불필요한 작업을 줄이는 일이다.

핵심 용어

  • Execution Plan
  • Full Scan
  • Index Scan

조건식과 조회 컬럼을 줄여 계획 비교하기

튜닝은 거창한 도구보다 먼저 SQL 자체를 정리하는 것에서 출발한다. 필요한 컬럼만 읽고, 모호한 형 변환을 줄이고, 불필요한 정렬과 함수 적용을 줄이는 습관만으로도 실행 계획은 크게 달라질 수 있다.

SELECT employee_id, last_name
FROM employees
WHERE last_name = 'King';

수험 체크포인트와 자주 하는 실수

시험 체크포인트

  • 실행 계획은 처리 순서를 읽는 도구라는 점을 기억하자.
  • 인덱스가 있어도 항상 사용되는 것은 아니라는 점이 중요하다.
  • 튜닝 기본은 문장 구조를 단순하고 명확하게 만드는 것에서 시작한다.

자주 하는 실수

  • 인덱스가 있으면 무조건 빠르다고 생각하는 실수
  • 실행 계획을 단순 결과 순서처럼 오해하는 실수
  • 튜닝을 힌트 문법 암기로만 접근하는 실수

연결 학습

30개 챕터를 모두 지나오면서 오라클 SQL의 기본 문법부터 성능 관점까지 한 바퀴를 돌았다. 이제는 블로그에서 이론을 반복하고, blacksql.sqld.kr에서 직접 손으로 쿼리를 실행하면서 감각을 고정하면 된다.

댓글 0

작성자 이름과 댓글 내용을 입력하면 바로 등록됩니다. 답글은 한 단계까지 지원하고, 댓글은 최대 200자까지 작성할 수 있습니다.

일반 댓글 작성

댓글을 불러오는 중입니다.

같은 카테고리에서 이어서 읽기

지금 읽은 글과 가까운 흐름의 글 5개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.