[SQL] SQL 기본 ( 인덱스 )

2025. 1. 26. 10:42·TIL/SQL

인덱스

  • 데이터베이스의 인덱스란?
    • 데이터베이스에서 테이블의 검색 속도를 높이기 위한 기술을 말한다
    • 해시 테이블, B tree B+ tree 등의 자료구조가 사용된다.
  • 어떻게 사용해야 하나?
    • 자주 조회되는 컬럼에 적용한다
    • 조회 시 오랜 시간을 소모하는 컬럼에 적용한다
  • 인덱스의 종류
    • Primary Key ( PK )
      • 컬럼을 해당 키로 설정 시 테이블에서 중복되지 않는 값을 지정한다
      • 조회 속도가 가장 빠르다
      • 테이블마다 단 하나의 컬럼을 primary key로 지정할 수 있다
    • Unique Key ( UQ )
      • PK와 마찬가지로 테이블에서 중복되지 않는 값을 지정한다
      • PK보단 느리지만 고속으로 데이터를 가져올 수 있다
      • 여러 컬럼을 UQ로 지정할 수 있다
    • Normal Key 
      • 테이블에서 중복되는 값을 허용한다
      • PK, UQ보단 느리지만 데이터의 양이 클 때, 바로 전체 테이블을 조회하는 것보다는 속도가 빠르다
    • 중복키
      • 하나의 키에 여러 컬럼을 등록하여 설정하는 방법을 말한다
  • SQL 예시
CREATE TABLE `student` (
   `id` int NOT NULL,
   `name` char(5) NOT NULL,
   `birthday` date NOT NULL,
   `weight` int NOT NULL,
   `height` int NOT NULL,
   `address` varchar(10) NOT NULL,
   PRIMARY KEY (`id`), -- PK적용
   UNIQUE KEY `resident_number` (`name` , `birthday` , `address` ), -- UQ를 중복키로 저장
   KEY `health_info` ( `height` , `weight` )
)

'TIL > SQL' 카테고리의 다른 글

[SQL] SQL 기본 ( Join )  (0) 2025.01.26
[SQL] SQL 기본 ( 데이터 CRUD )  (0) 2025.01.26
[SQL] SQL 기본 ( 데이터베이스와 테이블 생성, 삭제 )  (0) 2025.01.25
[SQL] 데이터베이스란?  (0) 2025.01.25
'TIL/SQL' 카테고리의 다른 글
  • [SQL] SQL 기본 ( Join )
  • [SQL] SQL 기본 ( 데이터 CRUD )
  • [SQL] SQL 기본 ( 데이터베이스와 테이블 생성, 삭제 )
  • [SQL] 데이터베이스란?
Charlie.han
Charlie.han
백엔드 개발자가 되기 위해 공부한 것들(Java, Spring, SQL, 네트워크, AWS 등)을 기록하고 공유하는 블로그입니다.
  • Charlie.han
    Chalie's Devlog
    Charlie.han
  • 전체
    오늘
    어제
    • 분류 전체보기 (32)
      • TIL (32)
        • Java (20)
        • Spring (2)
        • SQL (5)
        • 알고리즘 (4)
        • 트러블슈팅 (1)
      • WIL (0)
        • 카카오테크 부트캠프 (0)
  • 태그

    object
    sql where
    참조공유
    default메서드
    다형성
    static 필드
    컬렉션프레임워크
    인텔리제이 한글 깨짐
    프로그래머스 베스트앨범 자바
    프로그래머스
    프로그래머스 소수찾기
    데이터베이스
    인터페이스
    타입안전열거형
    인텔리제이한글
    SQL
    인스턴스
    jdk란?
    string
    static메서드
    super()
    프로그래머스 베스트앨범
    묵시적형변환
    자바
    Java
    프로그래머스 소수찾기 자바
    제네릭 클래스
    unsupported characters for the charset 'iso-8859-1'
    sql limit
    불변객체
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Charlie.han
[SQL] SQL 기본 ( 인덱스 )
상단으로

티스토리툴바