Skip to content

Instantly share code, notes, and snippets.

@space-cap
Last active May 16, 2025 06:13
Show Gist options
  • Save space-cap/96a09d8448f9063836b1574d2255468a to your computer and use it in GitHub Desktop.
Save space-cap/96a09d8448f9063836b1574d2255468a to your computer and use it in GitHub Desktop.
Oracle Index Flowchart

Page.29 Image

SELECT id, name, dept_id FROM s_emp WHERE dept_id = 110;

dept_id 컬럼에 인덱스를 생성한 상태임.

CREATE INDEX idx_s_emp_dept_id
ON s_emp(dept_id);
flowchart TD
    A["사용자"] --> B["SELECT 쿼리 실행"]
    B --> C["SGA - Library Cache 확인"]
    C -->|있으면| G["실행 계획 사용"]
    C -->|없으면| D["파싱 후 실행 계획 생성 및 저장"]
    D --> G
    G --> E["인덱스 블록 탐색 위해 SGA - DB Buffer Cache 조회"]
    E -->|데이터 있음| H["캐시된 인덱스 블록 사용"]
    E -->|데이터 없음| F["디스크에서 인덱스 블록 읽어옴 & Cache 저장"]
    H --> I["인덱스 블록에서 ROWID 획득"]
    F --> I
    I --> J["SGA - DB Buffer Cache에서 테이블 블록 찾기"]
    J --> |데이터 있음| K["캐시된 블록 사용"]
    J --> |데이터 없음| L["디스크에서 해당 블록 읽어옴 & Buffer Cache 저장"]
    K --> M["결과 행 추출"]
    L --> M
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment