Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- forNmae()
- 트리 회전
- .getClass()
- REDIS
- 오라클 병렬처리
- 오라클
- 자료구조
- react
- 네임드 뷰
- Express
- 애그리거트
- 도커빌드
- 리덕스 공식문서
- 컴포넌트 주도
- ACCESS_REFUSED
- vue.js
- 리덕스
- AWS
- $emit()
- 리액트
- rabbitmq 에러
- exiting abnormally
- Java Reflextion API
- VUE
- quert
- 자바
- paraller
- EBS
- 커스텀 로그인
- redux
Archives
- Today
- Total
개발정리
인덱스 본문
인덱스란?
- 인덱스는 데이터베이스 테이블에 대한 검색 성능의 속도를 높여주는 자료구조이다.
-특정 컬럼에 인덱스를 생성하면 해당 컬럼의 데이터들을 정렬하여 별도의 메모리 공간에 데이터의 물리적 주소와 함께 저장 된다.
-인덱스를 활용하면 데이터를 조회하는 SELECT 외에도 UPDATE나 DELETE의 성능이 함께 향상된다.
인덱스의 관리
-DBMS는 인덱스를 항상 최신의 정렬된 상태로 유지해야 한다.
*INSERT,UPDATE,DELETE가 수행된다면 연산을 추가적으로 해줘야 함
- INSERT:새로운 데이터에 대한 인덱스를 추가함
- DELETE:삭제하는 데이터의 인덱스를 사용하지 않는다고 표기
- UPDATE:기존의 인덱스를 사용하지 않음 처리하고 갱신된 데이터에 대해 인덱스를 추가
인덱스의 장점과 단점
- 장점
- 테이블을 조회하는 속도와 그에 따른 성능을 향상시킬 수 있다.
- 전반적인 시스템의 부하를 줄일 수 있다.
- 단점
- 인덱스를 관리하기 위해 DB의 약 10%에 해당하는 저장공간이 필요
- 인덱스를 관리하기위해 추가 작업이 필요
- 인덱스를 잘못 사용할 경우 오히려 성능이 저하되는 효과
만약 CREATE,DELETE,UPDATE가 빈번한 속성에 인덱스를 걸게 되면 인덱스의 크기가 커져 성능이 저하
인덱스를 사용하면 좋을 경우 ->규모가 크고 조회가 빈번할때!
- 규모가 큰 테이블
- INSERT,UPDATE,DELETE가 자주 발생하지 않는 컬럼
- JOIN이나 WHERE 또는 ORDER BY 에 자주 사용되는 컬럼
- 데이터의 중복도가 낮은 컬럼
'CS > 데이터베이스' 카테고리의 다른 글
EXPLAIN이 뭔지 설명해줘! (0) | 2024.03.28 |
---|---|
innodb 스토리지 엔진의 잠금 (0) | 2024.02.23 |
트랜잭션 고립 수준 (0) | 2024.01.28 |
트랜잭션 (0) | 2024.01.23 |