인덱스(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 |