본문 바로가기
인터페이스 개발/SQL - MariaDB

SQL - 인덱스 - 인덱스, B-Tree, 인덱스 만들기, 인덱스 삭제

by cooluk 2020. 7. 29.

Chap.9 인덱스 - 인덱스, B-Tree, 인덱스 만들기, 인덱스 삭제

 

인덱스

인덱스, B-Tree, 인덱스 만들기, 인덱스 삭제

 

인덱스

  • 특정 컬럼을 별도로 정렬하여 검색 속도를 향상

  • Primary Key, Unique, Foreign Key 컬럼은 자동으로 인덱스가 생성됨

  • 정렬 작업을 하므로 추가 공간 및 처리 시간 비용이 듬

    - 추가 수정 작업보다 검색 작업이 많을 때 유리

 

B-Tree(Balanced Tree, 균형 트리)

 

 

인덱스 만들기

[형식]
CREATE INDEX 인덱스명
ON 테이블명(컬럼명, …);
USE sqlDB;
SELECT * FROM userTBL;

SHOW INDEX FROM userTBL;

SHOW TABLE STATUS LIKE 'userTBL';

CREATE INDEX idx_userTBL_addr
	ON userTBL (addr);

SHOW INDEX FROM userTBL ;

 

인덱스 생성 후 검색 속도 비교

USE employees;

SELECT * FROM employees WHERE emp_no = 10838;

SELECT * FROM employees WHERE first_name = 'Deniz';


-- 인덱스 생성

CREATE INDEX idx_employees_first_name
	ON employees (first_name);
	
SELECT * FROM employees WHERE emp_no = 10838;

SELECT * FROM employees WHERE first_name = 'Deniz';

결과

 

 

인덱스 삭제

[형식]
DROP INDEX 인덱스명 ON 테이블명;
DROP INDEX idx_userTBL_name ON userTBL;
SHOW INDEX FROM userTBL ;

댓글