어느 비전공자의 개발일지

index란? 장점단점? 종류 본문

백엔드 개발자/DB

index란? 장점단점? 종류

vndn629 2023. 5. 10. 09:00

 

Index ( 인덱스 ) 란?

인덱스는 데이터베이스 테이블에 있는 데이터를 빨리 찾기 위한 용도로 데이터베이스 객체이다.

 

Index ( 인덱스 ) 언제 사용 해야 할까?

  1. 테이블에 행의 수가 많을때
  2. 조건절인 where문에 해당 컬럼이 많이 사용 될 때
  3. join에 자주 사용되는 컬럼
  4. NULL을 포함하는 컬럼이 많은 ㄴ경우

Index ( 인덱스 ) 장점?

  1. 일부 SQL 쿼리 성능 향상 가능
  2. 행 검색 속도를 높일 수 있음
  3. 신속한 자료 검색
  4. 시스템 부하를 줄여 전체 시스템의 성능을 향상

Index ( 인덱스 ) 단점 ?

  1. 데이터베이스 공간을 차지 한다.
  2. 인덱스 생성 시 많은 시간이 소요 될 수 있음.
  3. 데이터 변경 작업시 (INSERT,UPDATE,DELETE)성능이 나빠질 수 있음.

자동 인덱스

Index 는 Primary Key 생성할때 UINQUE 제한 규칙에 의해 자동적으로 생성 됨.

수동 인덱스

CREATE INDEX ----- 명령을 직접 실행

Index ( 인덱스 ) 의 종류

  1. B-TREE 인덱스

Leaf Block : 실제 테이블 주소 여기에 다 들어가 있음.

Baranch Block, Root Block : 데이터들에 대한 데이터들이 들어가 있다.

특정 데이터를 찾아야 할 경우 Root Block에서 Branch Block 정보를 찾고 Leaf Block 정보를 찾고 ROWID를 찾아 메모리로 복사해옴.

  1. BITMAP 인덱스

상품테이블 GREEN , RED , BLUD , RED

색상 GREEN -> 1번째, 2번째 , 6번째, 에 ( 1 ) 이 설정 , 테이블 레코드의 색상 값이 GREEN임을 뜻함.

반응형