방명록
- [DB] 인덱스 (clustered/secondary)2024년 02월 04일 03시 14분 49초에 업로드 된 글입니다.작성자: @kimyu0218
clustered Index (primary)
클러스터형 인덱스는 데이터베이스를 정렬하여 인덱스의 순서와 일치하도록 만든다. 물리적인 저장 순서를 변경하기 때문에 하나의 테이블에는 하나의 클러스터형 인덱스만 존재할 수 있다.
⭐ 클러스터형 인덱스는 물리적인 레코드 순서를 정렬한다!
InnoDB에서 클러스터형 인덱스는 기본키를 의미한다. InnoDB는 기본키를 기준으로 테이블을 정렬하여 쿼리 속도를 향상시키는데, 이는 클러스터형 인덱스를 변경하는 데 비용이 많이 들기 때문이다.
🚨 클러스터형 인덱스는 테이블을 정렬하기 때문에 자주 수정되는 값을 클러스터형 인덱스로 설정하면 테이블이 계속 정렬된다.
secondary Index (non-clustered)
보조 인덱스는 비클러스터형 인덱스다. 클러스터형 인덱스와 달리 데이터베이스를 정렬하지 않는다. 즉, 데이터 행들은 인덱스와 무관하게 테이블 전체에 퍼져있을 수 있다. 대신, 비클러스터형 인덱스 트리는 정렬된 인덱스 키와 인덱스의 리프레벨에 레코드에 대한 포인터를 갖고 있어 검색 연산을 효율적으로 수행할 수 있다.
⭐ 보조 인덱스는 물리적인 레코드 순서와 무관하다. 따라서 여러 개의 보조 인덱스를 생성할 수 있다.
한눈에 비교하기
참고자료
'학습기록 > CS 공부' 카테고리의 다른 글
[OS] 가상 메모리 (페이지 부재/페이지 교체/스레싱/워킹셋) (0) 2024.02.09 [OS] 메모리 관리 2편 (연속 할당/불연속 할당) (1) 2024.02.09 [OS] 메모리 관리 1편 (주소 바인딩/메모리 로드) (2) 2024.02.07 [DB] 트랜잭션 (ACID/격리 수준) (1) 2024.02.05 [DB] 인덱스 (B 트리) (0) 2024.02.04 다음글이 없습니다.이전글이 없습니다.댓글