이 웹 사이트에서 색인에 대한 질문과 답변을 읽은 후 질문이 떠 올랐습니다.
더 낮은 수준의 세분성을 가진 시간 차원 테이블을 사용하는 경우 어떻게됩니까? 인덱스를 어디에 두어야합니까?
질문에서 랜디 멜더 : “인덱스”는 RDBMS에서 무엇을 의미합니까? 말했다 :
색인을 "목차"로 생각하십시오. 파일의 위치에 대한 포인터의 정렬 된 목록입니다.
시간 차원의 경우, 대부분의 데이터 조사는 시간표가 하루 종일 고유 한 연도 를 저장하는 경우 특정 날짜, 특정 주, 특정 월 또는 특정 분기에 대해 수행 될 수 있습니다 .
내 질문은 : 모든 필드에 인덱스를 넣어야합니까?
Day는 독특하다고 가정 하므로이 인덱스의 사용을 완벽하게 이해합니다. 그러나 주 ID는 7 건 , 월 ID는 30/31 건 , 1/4 ID는 120 건 정도 발생 합니다.
- 여전히 해당 필드에 대한 인덱스를 넣어야합니까?
- 여전히 유용합니까?
같은 질문으로 David Spillett이 말했습니다.
인덱스를 저장하는 데 사용되는 추가 공간 (및 DB에서 쓰기 작업이 많은 경우 인덱스를 유지하기위한 IO로드)이 약간 덜 최적화 된 읽기 쿼리보다 문제가 될 수 있으므로 너무 많은 인덱스를 추가하는 것은 물론 최적화가 좋지 않을 수 있습니다. 과도하게하지 마십시오.
그렇다면 시간 차원의 경우 가장 고려해야 할 사항은 무엇입니까?