이 글에서 꼭 잡아야 할 것
좋은 SQL은 정답만 맞는 SQL이 아니라, 같은 정답을 더 효율적으로 만드는 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개를 모아 두었습니다. 바로 앞뒤 문맥을 이어서 읽고 싶을 때 가장 편합니다.
DDL 기초: CREATE, ALTER, DROP, TRUNCATE
DDL은 데이터 구조를 정의하고 바꾸는 문법이다. 테이블과 컬럼을 만드는 CREATE, 구조를 바꾸는 ALTER, 제거하는 DROP과 TRUNCATE를 정확히 구분해야 한다.
제약조건과 데이터 무결성
좋은 데이터베이스는 잘못된 데이터를 애초에 받지 않는다. 제약조건은 데이터 무결성을 보장하는 핵심 장치이며, 오라클 SQL 시험에서도 매우 중요한 주제다.
DML: INSERT, UPDATE, DELETE, MERGE
DML은 실제 데이터를 추가하고 바꾸고 삭제하는 문법이다. 테이블 구조보다 더 자주 다루게 되는 영역이므로 문장별 목적과 영향 범위를 명확히 이해해야 한다.
TCL과 DCL: COMMIT, ROLLBACK, SAVEPOINT, 권한
데이터를 바꾼 뒤에는 그 변경을 확정할지 되돌릴지 결정해야 한다. TCL은 트랜잭션을 제어하고, DCL은 사용자 권한을 관리한다.
뷰, 시퀀스, 인덱스 이해하기
오라클 SQL 실무에서는 테이블만 다루지 않는다. 뷰로 조회를 추상화하고, 시퀀스로 번호를 만들고, 인덱스로 검색 속도를 높인다.
댓글을 불러오는 중입니다.