➜ 데이터 조회 | LIKE, BETWEEN ~ AND, IN, SUBQUERY
➜ 데이터 조회 | ORDER BY, LIMIT, GROUP BY, HAVING, WITH ROLLUP
➜ 내장함수 | 문자열함수, 수학함수, 날짜 및 시간 함수
➜ 조인(Join) | INNER JOIN, OUTER JOIN, UNION / UNION ALL
➜ 테이블(TABLE) | CREATE, DROP, ADD, DROP, MODIFY, CHANGE
➜ 제약조건 | PRIMARY KEY, FOREIGN KEY, UNIQUE KEY, CHECK, DEFAULT, NULL
➜ DML(데이터 조작어) | INSERT, UPDATE, DELETE, CASCADE
➜ 뷰(View) | CREATE, DROP
➜ 인덱스(INDEX)
➜ 트랜잭션(Transaction) | Atomicity, Consistency, Isolation, Durability
INDEX 개념
- 대용량 테이블의 데이터를 빠르게 찾을 수 있도록 해주는 도구
- 데이터 레코드를 빠르게 접근하기 위해 <키 값, 포인트> 쌍으로 구성되는 데이터 구조
INDEX 장점
- 대용량 테이블의 데이터를 빠르게 찾을 수 있도록 해준다
- 쿼리의 부하가 줄어들어 시스템 전체의 성능 향상
INDEX 단점
- 인덱스가 데이터베이스 공간을 차지해서 추가적인 공간 필요
(테이블 공간대비 약 10~20% 공간 차지)
- 최초 INDEX 생성 시 시간 소요
- CURD 작업이 많을 경우 성능 저하 우려 있음
INDEX 종류
보조 인덱스(Secondary Index)
: 데이터를 빠르게 검색하기 위해 해당 컬럼을 대상으로 만들어진 인덱스. 보조 인덱스가 없다면, 해당 컬럼을 검색하는 작업은 전체 테이블을 스캔해야 하기 때문에 처리속도가 느려진다.
클러스터드 인덱스(Clustered Index)
: 데이터를 순서대로 정렬한 후 인덱스를 만드는 것
넌클러스터드 인덱스(Non-Clustered Index)
: 데이터를 순서대로 정렬하지 않고 인덱스를 만드는 것
:트리기반인덱스
- 인덱스를 저장하는 블록들이 트리 구조를 이루고 있는 것
: 비트맵 인덱스
- 인덱스 컬럼의 데이터를 Bit 값인 0 또는 1로 변환하여 인덱스 키로 사용하는 방법
: 함수 기반 인덱스
- 컬럼의 값 대신 컬럼에 특정 함수나 수식을 적용하여 산출된 값을 사용하는 것
: 비트맵 조인 인덱스
- 다수의 조인된 객체로 구성된 인덱스
: 도메인 인덱스
- 개발자가 필요한 인덱스를 직접 만들어서 사용하는 것
'MySQL' 카테고리의 다른 글
[DB/MySQL] 트랜잭션(Transaction) | Atomicity, Consistency, Isolation, Durability (0) | 2023.07.28 |
---|---|
[DB/MySQL] 뷰(View) | CREATE, DROP (0) | 2023.07.28 |
[DB/MySQL] DML(데이터 조작어) | INSERT, UPDATE, DELETE, CASCADE (0) | 2023.07.27 |
[DB/MySQL] 제약조건 | PRIMARY KEY, FOREIGN KEY, UNIQUE KEY, CHECK, DEFAULT, NULL (0) | 2023.07.27 |
[DB/MySQL] 테이블(TABLE) | CREATE, DROP, ADD, DROP, MODIFY, CHANGE (0) | 2023.07.26 |