[데이터베이스] Clustered Index와 Non-Clustered Index

2022. 7. 2. 15:31·공부/데이터베이스
728x90

데이터베이스 상에서 검색 속도를 향상시키기 위해 인덱스라는 것을 사용한다. 일상 생활에서 사용하는 인덱스와 마찬가지다. 데이터베이스의 인덱스는 크게 2가지 종류로 나눌 수 있다.

 

✅ Clustered Index(클러스터드 인덱스)

클러스터드 인덱스는 쉽게 말해 영한 사전이다. 영한사전은 단어가 알파벳 순서로 기재된다. 사용자는 찾고자하는 단어의 알파벳을 생각하고 그 순서에 따라 단어를 찾을 수 있다.

클러스터드 인덱스도 마찬가지로 실제 데이터가 키에 따라 정렬된 상태로 저장된다. 클러스터드 인덱스는 테이블당 하나만 존재한다. 대부분의 PRIMARY KEY는 클러스터드 인덱스로 사용된다.

 

✅ Non-Clustered Index(논클러스터드 인덱스)

논클러스터드 인덱스는 색인을 생각하면 쉽다. 어떤 책들은 책에서 나온 단어 등을 책 가장 뒷부분에 색인 처리하여 정리해둔다. 독자가 따로 찾아보고 싶은 단어나 문장이 있으면 색인에서 해당 문자를 찾아 그 옆에 기재된 페이지로 가면 원하는 단어, 문장에 대한 이야기가 실려있다. 

논클러스터드 인덱스는 데이터 페이지를 따로 만들어 그 안에 데이터에 대한 키값을 넣어 그 키 값이 데이터를 가르키는 방식(포인터)으로 운영된다. 논클러스터드 인덱스는 여러 개 사용할 수 있다.

 

논클러스터드 인덱스는 테이블 안에 클러스터드 인덱스가 있느냐, 없느냐에 따라 다르게 작동한다.

 

1️⃣ Clustered Index가 없는 경우

데이터를 Heap Table에 저장한다. Heap RID ▶ Heap Table에 접근하여 데이터를 추출한다.

2️⃣ Clustered Index가 있는 경우

Heap Table이 없다. Leaf Table에 실제 데이터를 들고 있다. 

728x90

'공부 > 데이터베이스' 카테고리의 다른 글

[데이터베이스] 정렬(Sort/Sorting) 줄이기  (0) 2022.07.08
[데이터베이스] JOIN(조인) : Nested Loop, Merge, Hash  (0) 2022.07.08
[데이터베이스] Transaction(트랜잭션)이란?  (0) 2022.07.07
[데이터베이스] 복합인덱스란?  (0) 2022.07.07
[데이터베이스] Microsoft SQL 쓰는 순서와 실행 순서  (0) 2022.06.27
'공부/데이터베이스' 카테고리의 다른 글
  • [데이터베이스] JOIN(조인) : Nested Loop, Merge, Hash
  • [데이터베이스] Transaction(트랜잭션)이란?
  • [데이터베이스] 복합인덱스란?
  • [데이터베이스] Microsoft SQL 쓰는 순서와 실행 순서
돌멩이수프
돌멩이수프
Information technology
  • 돌멩이수프
    WHAT DOES "IT" STAND FOR?
    돌멩이수프
  • 전체
    오늘
    어제
    • 분류 전체보기 (239)
      • 언어 (73)
        • html (3)
        • css (1)
        • java (6)
        • C (26)
        • C++ (2)
        • C# (29)
      • 공부 (7)
        • Unity (43)
        • 게임 서버 (26)
        • 네트워크 (5)
        • 데이터베이스 (7)
        • EFCore (19)
        • 기타 (14)
        • Git (5)
        • 운영체제 (1)
        • 소프트웨어공학 (21)
      • 2024-여름 (12)
      • 자기 관리 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    C#
    tcp
    EFCore
    java
    코딩
    unity
    디자인패턴
    HTML
    유니티
    coding
    C언어
    네트워크
    EntityFramework
    자바
    백준
    게임서버
    Python
    C
    라즈베리파이
    Entityfamework
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
돌멩이수프
[데이터베이스] Clustered Index와 Non-Clustered Index
상단으로

티스토리툴바