인덱스

sz L·2023년 3월 3일

데이터베이스

목록 보기
9/11
post-thumbnail

INDEX

장점

  • 잘 사용하면 검색속도 향상
  • 쿼리의 부하가 줄어들어 시스템 성능 향상

단점

  • 데이터베이스의 추가적인 공간 필요(약 10%정도)
  • 처음 인덱스를 생성하는데 시간 소요
  • 데이터 변경 작업하면 성능이 나빠질 수 있음(INSERT, UPDATE, DELETE)

인덱스 종류

  1. 클러스터형 인덱스 (Clustered Index)
    • '영어사전' 생각하면 됨
    • 테이블 당 한 개만 지정 가능
    • 행 데이터를 인덱스로 지정한 열에 맞춰 자동 정렬
    • 키가 있어야 인덱스도 존재한다
  2. 보조 인덱스 (Secondary Index)
    • 책 뒤에 '찾아보기' 생각하면 됨
    • 테이블당 여러 개도 생성 가능

USE tabledb;

CREATE TABLE TBL1 (
	ID int NOT NULL PRIMARY KEY,
    bridge int NULL,
    contents VARCHAR(5000)
);

-- sqldb DB의 usertbl 데이터 중 userID, name, birthYear, addr만 가져와서
-- tabledb.usertbl에 넣은것
INSERT INTO tabledb.usertbl
SELECT userID, name, birthYear, addr
  FROM sqldb.usertbl;



인덱스의 내부 작동

  • B-Tree(Balanced Tree, 균형 트리)
    • 자료 구조’에 나오는 범용적으로 사용되는 데이터 구조
    • 인덱스 표현할 때와 그 외에도 많이 사용

  • 18 find : 7과 16사이에 없음 -> 바로 16다음으로 넘어가서 검색
  • 검색 속도가 빨라진다
profile
가랑비는 맞는다 하지만 폭풍은 내 것이야

0개의 댓글