작성
·
384
답변 1
0
안녕하세요 ㅎㅎ
일단은 인덱스가 비용인 이유를 좀 더 자세하게 설명하면 다음과 같습니다.
저장 공간의 증가: 인덱스라는 것 자체가 자료구조이고 이 구조를 담을 공간이 필요하기 때문에 저장공간에 대한 코스트가 듭니다.
추가적인 읽기 비용 : 인덱스를 사용하면 데이터를 두 번 탐색해야 하기 때문에 검색 속도가 저하될 수 있습니다.
여기서 2번이 핵심인데요.
인덱스를 기반으로 데이터를 탐색하게 되면 다음과 같은 과정이 일어나게 됩니다.
인덱스 리스트 탐색: 인덱스를 사용하면 먼저 인덱스 리스트를 탐색합니다. 인덱스 리스트는 해당 컬럼의 값과 그 값이 저장된 위치를 담고 있습니다. 따라서 인덱스 리스트를 탐색하면서 해당 값이 저장된 위치를 찾아야 합니다.
해당 위치에 있는 데이터 탐색: 인덱스 리스트에서 해당 값이 저장된 위치를 찾았다면, 그 위치에 있는 데이터를 탐색해야 합니다.
이렇기 때문에 인덱스는 비용이다 : 먼저 인덱스는 두 번 탐색하도록 강요합니다. 인덱스 리스트, 그다음 컬렉션 순으로 탐색하기 때문이며, 관련 읽기 비용이 들게 됩니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.