달마루
기획자에서 개발자로
달마루
전체 방문자
오늘
어제
  • 분류 전체보기 (334)
    • 기획 이야기 (3)
    • 개발자로 전향한 이유 (1)
    • Github Address (1)
    • 개발자, 그 여정 (11)
      • 기초특강 (4)
      • 국비학원 선정 (4)
      • BitCamp_수업내용 (1)
      • 학원 프로젝트 후기 (1)
      • 정보처리기사 (1)
      • 개발 이야기 (0)
    • 개념 창고 (126)
      • JAVA (50)
      • CS (1)
      • Database (27)
      • NetWork (2)
      • 자료 구조 (2)
      • React (8)
      • Spring (3)
      • JPA (1)
      • HTML & CSS (18)
      • JS (3)
    • algorithm (186)
      • 백준 (161)
      • 프로그래머스 (23)
    • 사는 이야기 (0)

블로그 메뉴

  • Github
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 문제풀이
  • math
  • 백준문제풀이
  • 혼자공부하는SQL
  • 백준알고리즘
  • 혼공SQL
  • SQL고득점Kit
  • Bronze IV
  • Scanner
  • SQL
  • 백준
  • Algorithm
  • MySQL
  • 프로그래머스
  • 알고리즘
  • BOJ algorithm
  • 알고리즘풀이
  • 자바
  • sql 문제풀이
  • Bronze V
  • java algorithm
  • Bronze III
  • java
  • select
  • 혼공MySQL
  • HTML
  • programmers
  • BOJ
  • react
  • BRONZE

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
달마루

기획자에서 개발자로

(혼공MySQL)15.인덱스의 개념과 장단점, 클러스터형 인덱스와 보조 인덱스
개념 창고/Database

(혼공MySQL)15.인덱스의 개념과 장단점, 클러스터형 인덱스와 보조 인덱스

2023. 3. 20. 14:20

인덱스(Index)는 SELECT를 사용해서 테이블을 조회할 때 결과를 빠르게 추출하도록 도와주는 기능이다. 
꼭 있어야하는건아니다만, 실무의 많은 데이터를 검색시 활용도가 높다.
인덱스는 비타민과 비슷해 적당히 먹으면 괜찮지만 과다 복용하면 안좋다.

찾아보는게 많으면 오히려 안좋아서 안만들기도한다.
인덱스(Index)의 장점
- SELECT문으로 검색하는 속도가 매우 빨라진다.
- 그 결과 컴퓨터의 부담이 줄어들어 결국 전체 시스템 성능이 향상된다.

인덱스(Index)의 단점
- 인덱스도 공간을 차지해 데이터 베이스 안에 추가적인 공간 필요 (테이블 크기 약 10% 정도 공간 추가 필요)
- 처음 인덱스를 만드는데 시간이 오래걸릴 수 있다. (찾아보기가 없는 책에 새로 찾아보기를 만드는 것과 마찬가지로 작업 시간이 필요)
- SELECT가 아닌 데이터 변경 작업(INSERT, UPDATE, DELETE)이 자주 일어나면 오히려 성능이 나빠질 수 있다.


인덱스의 종류 (클러스터형 인덱스, 보조 인덱스)

클러스터형 인덱스 ex) 영어사전, 국어사전 그자체
보조 인덱스 ex) 책 뒤편 찾아보기

클러스터형 인덱스는 자동으로 정렬이 된다. 

보조 인덱스는 정렬되지 않는다.

보조 인덱스는 찾아보기 페이지 추가하는 느낌 

저작자표시 비영리 변경금지

'개념 창고 > Database' 카테고리의 다른 글

(혼공MySQL)18.스토어드 프로시저(stored procedure)의 개념과 사용 방법(입출력 매개변수의 활용 방법)  (0) 2023.03.20
(혼공MySQL)16.인덱스의 내부 작동 원리와 구조, 인덱스에서 데이터 검색하기  (0) 2023.03.20
(혼공MySQL)14. 가상의 테이블: 뷰(생성, 수정, 삭제)  (0) 2023.03.20
(혼공MySQL)13. SQL 테이블 제약조건(기본키, 외래키, 고유키)  (0) 2023.03.20
(혼공MySQL)11.SQL 프로그래밍(IF문, CASE문, WHILE문, 동적SQL)  (0) 2023.03.20
    '개념 창고/Database' 카테고리의 다른 글
    • (혼공MySQL)18.스토어드 프로시저(stored procedure)의 개념과 사용 방법(입출력 매개변수의 활용 방법)
    • (혼공MySQL)16.인덱스의 내부 작동 원리와 구조, 인덱스에서 데이터 검색하기
    • (혼공MySQL)14. 가상의 테이블: 뷰(생성, 수정, 삭제)
    • (혼공MySQL)13. SQL 테이블 제약조건(기본키, 외래키, 고유키)
    달마루
    달마루
    항상 어제보다 좋은 코드를 지향합니다. https://github.com/LimDongHyun99

    티스토리툴바