반응형
혼공SQL
#한빛미디어 #혼공학습단 #혼공단 #혼공SQL
[혼공학습단7기 혼공SQL 5주차] 6장 기본미션:p. 310 - 인덱스 생성하고 key_name이 PRIMARY로 출력된 결과화면 캡쳐하기., 선택미션:인덱스 생성, 제거하는 기본 형식 작성하기
1.기본미션:p. 310 - 인덱스 생성하고 key_name이 PRIMARY로 출력된 결과화면 캡쳐하기
인덱스 생성과 제거 실습
- member 테이블의 데이터 내용 확인
- member 테이블의 인덱스 정보 확인
- member라는 글자가 들어간 테이블의 정보 확인
- 단순 보조 인덱스 생성
- analyze table 적용
- 고유보조인덱스 생성
인덱스 제거 실습
- member 인덱스 확인
- 인덱스 제거
- Primary key에 설정된 인덱스 삭제
- member의 mem_id 열을 buy가 참조하기 때문에 기본키를 삭제 하기전에 외래키 관계를 제거해야 함.
- buy 외래키를 제거하고 member 기본키 제거
인덱스를 효과적으로 사용하는 방법
- 인덱스는 열 단위에 생성됩니다.
- where절에서 사용되는 열에 인덱스를 만들어야 합니다.
- where절에 사용되더라도 자주 사용해야 가치가 있습니다.
- 데이터의 중복이 높은 열은 인덱스를 만들어도 별 효과가 없습니다.
- 클러스터형 인덱스는 테이블당 하나만 생성할 수 있습니다.
- 사용하지 않는 인덱스는 제거합니다.
2.선택문제:인덱스 생성, 제거하는 기본 형식 작성하기
인덱스 생성
create [unique] index 인덱스_이름 on 테이블_이름 (열_이름) [asc|desc] |
인덱스 제거
drop index 인덱스_이름 on 테이블_이름 |
테이블에 생성된 인덱스 정보 확인
show index from 테이블_이름 |
테이블에 생성된 인덱스 크기 확인
show table status like '테이블_이름'; |
테이블을 분석/처리(인덱스 적용)
analyze table 테이블_이름; 3.혼공 용어 정리 index : 테이블에서 데이터를 빠르게 조회할 수 있도록 도와주는 도구. 책 뒤의 ‘찾아보기’와 비슷한 개념이다. Clustered Index : 기본키로 지정하면 자동으로 생성되고 테이블당 1개만 만들 수 있다. 해당 열을 기준으로 자동 정렬된다. Secondary Index : 고유키로 지정하면 자동으로 생성되며, 테이블당 여러 개를 만들 수 있다. 자동 정렬은 되지 않는다. Balanced tree, B-tree : 자료 구조에서 범용적으로 사용되는 데이터 구조, 클러스터형 인덱스와 보조 인덱스 모두 내부적으로 이 균형 트리로 만들어진다. Node : 균형 트리 구조에서 데이터가 저장되는 공간. 가장 사우이부터 루트 노드, 중간 노드, 리프 노드로 구분한다. Page : MySQL에서는 노드를 페이지라고 부른다. 16Kbyte 크기를 가진 최소한의 저장 단위로, 데이터를 1건만 입력해도 1개 페이지가 필요하다. 페이지분할 : 데이터 입력 시 입력할 페이지에 공간이 없는 경우 새로운 페이지를 준비해서 데이터를 나누는 작업. 페이지 분할이 일어날수록 MySQL이 느려지기 때문에 성능에 나쁜 영향을 줄 수 있다. |
반응형