728x90
목차
1. INDEX

 

1. INDEX

인덱스(INDEX) 개념

  • 검색을 빠르게 하기 위한 자료구조(주로 B트리 계열)
  • 기본키는 자동으로 인덱스설정
  • 인덱스 ON/OFF를 통해 검색속도 차이 체감(대량의 데이터일수록 큰 영향)
  • 조인(JOIN)시에도 영향을 줌

 

DBMS의 기초

정렬

  • 빠른 검색을 위해서는 데이터가 반드시 정렬(Sorting)되어 있어야 함
  • 정렬 되어 있지 않다면 평균적으로 전체 데이터의 절반 필요(최선: 1, 최약: N, 평균:N/2)
  • 정렬되면 있을 경우 데이터를 빠른 시간 안에 찾을 수 있음 O(NlogN)-O(N^2)
  • 퀵 정렬/힙정렬 계열이 주로 사용됨

 

인덱스(Index)

  • 인덱스 종류
  • 데이터 추가/수정/삭제할 때마다 정렬/인덱스 업데이트가 일어남

 

이진탐색(Binary Search)

  • 데이터를 정렬 후 “test” 단어를 검색하는 경우
  • 데이터가 추가/삭제/변경될 때마다 한가운데/왼쪽 가운데/오른쪽 가운데값 등을 미리 계산해 놓음

 

B-트리(B-Tree)

  • 이진 검색과 유사하지만 한 번에 비교를 2번(a, b : a < b)
  • B-트리 계열이 이진검색 계열보다 빠름
  • 데이터가 추가/삭제/변경 될 때마다 a, b 값을 업데이트

 

인덱스(INDEX) 설정

  • 인덱스 추가/삭제
create database sampleDB;
create table BusinessCard(Name Varchar(255), Address Varchar(255), Telephone Varchar(255));
insert into BusinessCard values (‘Bob’, ‘Seocho-dong 123’, ‘123-4567’);
insert into BusinessCard values (‘Sam’, ‘Sindang-dong 456’, 321-4321’);
create index BusinessCard_Telephone_index on BusinessCard(Telephone);

 

728x90

+ Recent posts