💡 인덱스(Index)란?
인덱스(Index)는 책의 색인과 비슷하게 작동하여, 데이터를 빠르게 찾을 수 있도록 돕는 데이터 구조입니다.
인덱스는 SQL 질의의 성능을 향상시키는 데 중요한 역할을 합니다.
인덱스는 데이터 베이스 테이블의 한 열 또는 여러 열의 값에 대한 포인터를 유지합니다. 인덱스를 사용하면 전체 테이블을 스캔하지 않고도 레코드를 빠르게 검색할 수 있습니다.
📌 인덱스(Index)의 특징
1. 테이블의 데이터에 대한 포인터를 저장합니다.
2. 인덱스는 데이터를 빠르게 검색하는 데 사용됩니다.
3. 인덱스는 테이블의 한 열 또는 여러 열에 대해 생성될 수 있습니다.
4. 인덱스는 B-Tree, Bitmap, Hash 등 다양한 데이터 구조를 사용할 수 있습니다.
🍀 인덱스의 장단점
장점
1. 데이터 검색 속도 향상 : 인덱스를 사용하면 데이터베이스 엔진이 테이블의 모든 행을 검색하지 않아도 되므로 검색 속도가 향상됩니다.
2. 정렬된 데이터 접근 : 인덱스는 데이터를 정렬된 형태로 저장하므로, 정렬된 데이터에 대한 작업이 더 빠릅니다.
3. 집계 및 그룹 연산 속도 향상 : 인덱스를 사용하면 데이터의 집계 및 그룹화 연산이 더 빠르게 수행됩니다.
단점
1. 공간 사용 : 인덱스는 디스크 공간을 사용합니다. 많은 인덱스를 생성하면 많은 디스크 공간이 필요합니다.
2. 데이터 수정 시 성능 저하 : 테이블의 데이터가 변경될 때마다 인덱스도 업데이트해야 하므로, 데이터의 삽입, 삭제, 수정(갱신) 연산이 느려질 수 있습니다.
3. 인덱스 관리 오버헤드 : 데이터 베이스는 인덱스를 유지하기 위해 추가 작업을 수행해야 합니다. 이로 인해 데이터베이스의 성능에 영향을 줄 수 있습니다.
🖊️ 인덱스의 사용 방법
SQL에서 인덱스는 CREATE INDEX, DROP INDEX 명령을 사용하여 생성하고 삭제 할 수 있습니다.
예를 들어, Employees 테이블의 LastName 열에 인덱스를 생성하려면 다음과 같이 SQL 명령을 작성할 수 있습니다.
CREATE INDEX idx_lastname
ON Employees (LastName);
이 명령은 LastName열의 값을 기반으로 인덱스를 생성하며, 인덱스의 이름은 idx_lastname입니다.
인덱스를 삭제하려면 다음과 같이 DROP INDEX 명령을 사용합니다.
DROP INDEX idx_lastname;
이 명령은 idx_lastname 인덱스를 삭제 합니다.
'백 > DataBase' 카테고리의 다른 글
[SQLD] 데이터 모델링이란 (1) | 2023.11.07 |
---|---|
[데이터베이스] MySQL(마이에스큐엘)과 MariaDB(마리아 디비)의 차이점 (2) | 2023.11.06 |
[MariaDB] 윈도우(Window) 마리아 디비(Maria DB) 설치하기 (2) | 2023.11.02 |
[SQL] 데이터베이스 CRUD - 테이블 생성, 데이터 추가, 수정, 삭제 (0) | 2023.10.27 |
[DataBase] 데이터 베이스 View란? - view의 정의와 특징, 사용 방법 (0) | 2023.10.27 |