오라클 SQL · 객체와 성능

뷰, 시퀀스, 인덱스 이해하기

오라클 SQL 실무에서는 테이블만 다루지 않는다. 뷰로 조회를 추상화하고, 시퀀스로 번호를 만들고, 인덱스로 검색 속도를 높인다.

뷰, 시퀀스, 인덱스 이해하기 대표 이미지

이 글에서 꼭 잡아야 할 것

오라클 SQL 실무에서는 테이블만 다루지 않는다. 뷰로 조회를 추상화하고, 시퀀스로 번호를 만들고, 인덱스로 검색 속도를 높인다.

이 세 객체는 각각 조회 추상화, 값 생성, 검색 최적화라는 서로 다른 목적을 가진다. 같은 “보조 객체”처럼 보일 수 있지만, 왜 필요한지 관점이 다르기 때문에 목적 중심으로 구분해서 기억하는 편이 훨씬 오래 간다.

난이도 중급
모듈 객체와 성능
학습 시간 10분
핵심 키워드 VIEW, SEQUENCE, INDEX

개념 지도와 이해 포인트

뷰는 하나의 SELECT 문을 이름 붙인 가상 테이블처럼 사용하는 객체다. 복잡한 조회를 단순화하고 보안을 분리하는 데 도움을 준다.
시퀀스 시퀀스는 중복되지 않는 숫자 값을 순차적으로 생성한다. 일련번호, 게시글 번호, 주문 번호 같은 키 생성에 자주 쓰인다.
인덱스 인덱스는 특정 컬럼 검색을 빠르게 해 주는 보조 구조다. 다만 모든 상황에서 좋은 것은 아니며, 갱신 비용도 함께 따른다.
뷰, 시퀀스, 인덱스 이해하기 개념 다이어그램

대표 문법 패턴

CREATE VIEW vw_high_salary AS
SELECT employee_id, last_name, salary
FROM employees
WHERE salary >= 10000;

CREATE SEQUENCE seq_order_id START WITH 1 INCREMENT BY 1;

CREATE INDEX idx_employees_last_name
ON employees(last_name);

문법 읽는 포인트

  • 뷰는 실제 데이터를 따로 저장하지 않는 가상 테이블 개념으로 이해하면 쉽다.
  • 시퀀스는 `NEXTVAL`, `CURRVAL`과 함께 자주 등장한다.
  • 인덱스는 읽기 성능에 도움을 주지만 쓰기 비용이 추가될 수 있다.

핵심 용어

  • VIEW
  • SEQUENCE
  • INDEX

일련번호와 조회 전용 뷰 설계하기

시퀀스를 키 생성 흐름과 연결해 이해하면 문법이 훨씬 자연스럽다. 뷰는 “자주 보는 SELECT를 이름 붙여 다시 쓰는 것”이라고 생각하면 금방 감이 온다.

INSERT INTO orders (order_id, customer_id, created_at)
VALUES (seq_order_id.NEXTVAL, 1001, SYSDATE);

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

시험 체크포인트

  • 뷰, 시퀀스, 인덱스는 각각 목적이 다르다는 점을 중심으로 기억하자.
  • 시퀀스는 NEXTVAL과 CURRVAL 사용 순서를 함께 익혀 두면 좋다.
  • 인덱스는 무조건 빠르다는 식의 단순 암기를 피해야 한다.

자주 하는 실수

  • 뷰를 실제 데이터가 저장되는 별도 테이블처럼 이해하는 실수
  • 시퀀스를 자동 정렬 도구처럼 오해하는 실수
  • 인덱스가 많을수록 무조건 좋다고 생각하는 실수

연결 학습

데이터베이스 객체를 이해하면 이제 성능 관점까지 붙일 수 있다. 마지막 챕터에서는 실행 계획과 SQL 튜닝의 기초를 정리하며 전체를 마무리한다.

댓글 0

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

일반 댓글 작성

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

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

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