데이터베이스의 성능
데이터베이스의 성능은 일반적으로 데이터베이스의 데이터 탐색시간으로 판단한다. 이 때 탐색시간을 줄이기 위해서 인덱스를 사용한다.
인덱스와 B-TREE
인덱스(INDEX, 색인) : 도서의 색인이나 사전과 같이 데이터를 쉽고 빠르게 찾을 수 있도록 만든 데이터 구조임
- 데이터베이스 운영 중에는 삽입, 삭제 발생하면서 노드에 순서대로 쌓이지 않음. 그래서 노드가 비었을 때, 그 노드에 채워줌으로써 빈 곳이 생기지 않게하고, 노드 구조로 데이터를 탐색하는 구조를 가짐
- B-TREE 구조로 저장할 때는, 탐색 시간이 선형이 아닌 로그 함수 모양을 갖는데, 탐색 시간이 일정 시점이 되면 늘어나지 않는 장점을 가진다.
인덱스의 생성
- 인덱스는 WHERE 절에 자주 사용되는 속성이어야 함.
- 인덱스는 조인에 자주 사용되는 속성이어야 함.
- 단일 테이블에 인덱스가 많으면 속도가 느려질 수 있음(테이블 당 4~5개 정도 권장).
- 속성이 가공되는 경우 사용하지 않음.
- 속성의 선택도가 낮을 때 유리함(속성의 모든 값이 다른 경우)
- 기본 문법
CREATE [REVERSE]┃[UNIQUE] INDEX 인덱스이름]
ON 테이블이름 (컬럼 [ASC┃DESC] [{, 컬럼 [ASC | DESC]} …])[;]
'데이터 엔지니어링 > 데이터베이스 및 운영체제' 카테고리의 다른 글
데이터베이스 모델링 (0) | 2023.03.24 |
---|---|
데이터베이스 프로그래밍(PL/SQL) (0) | 2023.03.24 |
SQL(ORACLE) 시스템 및 DML 권한 명령어 모음 (0) | 2023.03.24 |
SQL - 뷰 (0) | 2023.03.24 |
SQL SUBQUERY 사용규칙, WHERE 부속 질의 (0) | 2023.03.23 |