본문 바로가기

혼공단/혼공SQL7기

[혼공학습단7기 혼공SQL 5주차] 6장 기본미션:p. 310 - 인덱스 생성하고 key_name이 PRIMARY로 출력된 결과화면 캡쳐하기., 선택미션:인덱스 생성, 제거하는 기본 형식 작성하기

반응형

 

혼공SQL

#한빛미디어 #혼공학습단 #혼공단 #혼공SQL

[혼공학습단7기 혼공SQL 5주차] 6장 기본미션:p. 310 - 인덱스 생성하고 key_name이 PRIMARY로 출력된 결과화면 캡쳐하기., 선택미션:인덱스 생성, 제거하는 기본 형식 작성하기

 

1.기본미션:p. 310 - 인덱스 생성하고 key_name이 PRIMARY로 출력된 결과화면 캡쳐하기

 

인덱스 생성과 제거 실습

  1. member 테이블의 데이터 내용 확인

 

  1. member 테이블의 인덱스 정보 확인

  1. member라는 글자가 들어간 테이블의 정보 확인

  1. 단순 보조 인덱스 생성

  1. analyze table 적용

  1. 고유보조인덱스 생성

 

인덱스 제거 실습

  1. member 인덱스 확인

  1. 인덱스 제거

  1. Primary key에 설정된 인덱스 삭제

 

  1. member의 mem_id 열을 buy가 참조하기 때문에 기본키를 삭제 하기전에 외래키 관계를 제거해야 함.

 

  1. buy 외래키를 제거하고 member 기본키 제거

 

인덱스를 효과적으로 사용하는 방법

  1. 인덱스는 열 단위에 생성됩니다.
  2. where절에서 사용되는 열에 인덱스를 만들어야 합니다.
  3. where절에 사용되더라도 자주 사용해야 가치가 있습니다.
  4. 데이터의 중복이 높은 열은 인덱스를 만들어도 별 효과가 없습니다.
  5. 클러스터형 인덱스는 테이블당 하나만 생성할 수 있습니다.
  6. 사용하지 않는 인덱스는 제거합니다.




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이 느려지기 때문에 성능에 나쁜 영향을 줄 수 있다.


 

반응형