INDEX
테이블의 row 가 insert 가 되면서 index 객체에도 row_id 와 기준이 되는 pk 값이 들어온다 !
index 는 기본 설정값은 오름차순이다 !
그래서 row 가 들어올 때 값을 비교해서 index 에 저장이 된다 . => 순서가 있다 !
예를 들어 데이터가 들어올 때 d009 값이 들어오고 d005 값이 들어온다면 비교해서 d005 가 먼저 오게 되고,
또 다시 d002 데이터가 들어오면 원래 있던 데이터에서 다 비교 되지 않고 순서대로 비교
row 가 한꺼번에 들어올 때 index 도 한꺼번에 데이터가 추가가 된다
index 는 추가되면서 비교를 하게 되는데 그래서 작업 속도가 느려지는 이유 중 하나 !
그래서 한꺼번에 데이터가 들어올 때 작업의 속도가 느려지는 것을 방지하고자 잠깐 기본키를 끈다 !
인덱스는 기본적으로 null x, 중복 허용 x 인데 꼭은 아님
인덱스를 쓰는 이유 ?!
조회는 기본 중 기본 작업 인데, 수정/업데이트를 하거나 삭제를 할 때 (변경 작업) 그냥 수정/삭제 하는게 아니라 해당되는 데이터가 있어야 찾아가 조회 작업 후 변경 작업을 한다 !
그래서 조회 작업은 빈번하게 일어나다 보니 좀 더 빠르게 조회할 수 있는 작업이 없나 ? 만들어진게 인덱스 객체 이다.
index 를 설정하게 된다면 조회 작업이 성능이 좋아진다 ! (반드시 꼭 향상 되는 것은 x)
Full Scan
인덱스 확인
Non_unique : null 이 아닌 것
Sep_in_index : 컬럼 1개로 구성된 기본키
Column_name : 기본키 컬럼명
Cardinality : row 수
Index_type : BTREE 부모자식
show index from employees;
show indexes in employees;
인덱스 생성
인덱스 생성은 따로 안하지만 .. ! 문법은 있음
create [unique] index 인덱스명 on 테이블명(컬럼명1, 컬럼명2 [asc|desc]);
select * from employees;
'Others > 데이터베이스' 카테고리의 다른 글
[MySQL] ERD 비식별 관계/식별 관계 (0) | 2024.06.18 |
---|---|
[SQL] VIEW 문법 정리 및 예제 (0) | 2024.06.18 |
DB 구축 단계 (0) | 2024.06.17 |
[SQL] 그룹 함수 집계 함수 문법 정리 및 예제 (0) | 2024.06.16 |
[SQL] SubQuery : 서브 쿼리 문법 정리 및 예제 (0) | 2024.06.16 |