Dense Index
Sparse Index
테이블의 크기가 커질수록 매핑의 크기도 커집니다.
이런 매핑의 경우, 일반적으로 주소 가져오기가 더 빨라지도록 기본 메모리에 보관됩니다.
→ 이후 보조 메모리는 매핑에서 얻은 주소를 기반으로 실제 데이터를 검색합니다.
→매핑 크기가 커지면 주소 자체를 가져오는 속도가 느려집니다.
이런 경우에는 Sparse Index는 효율적이지 않게 됩니다. 이 문제를 해결하기 위해 Secondary Index가 생기게 되었습니다
1) 정의
Primary Index의 경우 기본키를 포함하며, 중복항복을 포함하지 않는 필드의 집합인 Index 이지만, Secondary Index의 경우 Primary Index가 아니며, 중복항목을 포함할 수 있는 인덱스라는 점이 가장 큰 차이점 이라고 할 수 있습니다.
2) Order
Primary Index는 데이터 블록의 행이 인덱스 키에서 정렬되어야 하는 반면 Secondary Index는 데이터 블록에서 행이 실제로 구성되는 방식에 영향을 미치지 않습니다.
3) 인덱스의 수
primary Index의 경우 하나만 가지고 있지만, secondary Index는 여러개의 인덱스를 가질 수 있습니다.
참고
https://www.javatpoint.com/indexing-in-dbms
https://pediaa.com/what-is-the-difference-between-primary-and-secondary-index/