안녕하세요.
클러스터 인덱스를 주려고 하는데 궁금한 점이 있어서 질문 드립니다.
기본적으로 생성 시 PK에 클러스터 인덱스가 자동적으로 생성이 되기는 하지만
주로 날짜 범위로 많이 검색이 되어 PK에는 넌클러스터 인덱스를 주고
등록일에 클러스터 인덱스를 줄까합니다.
그런데 한가지 문제점이 생기는 듯해서 이게 좋은방법인지 잘 모르겠네요
테이블은 대략 아래와 같습니다.
SEQ(PK) | StartDateTime | EndDateTime | UserID |
1 | 2015-01-29 10:22:33.000 | 2015-01-29 10:22:44.000 | test |
2 | 2015-01-29 10:23:33.000 | 2015-01-29 10:23:44.000 | test |
3 | 2015-01-29 10:24:33.000 | 2015-01-29 10:24:44.000 | test |
웹화면에서는 주로 날짜 범위 검색이 대부분이어서 StartDateTime 에 클러스터 인덱스를 주고
SEQ 에 넌클러스터 인덱스를 주었습니다.
궁금한 점이 StartDateTime 이 게시판에서 글 저장할 때 순서대로 저장되면 좋겠지만
저장이 될때 현시간이 아닌 10분, 20분 이전 날짜 데이터가 들어 갈 수 있습니다.(시스템상)
그랬을 때 순차적으로 저장은 되지만 클러스터 인덱스는 정렬을 하면서 중간에 끼워넣게되는데
스플릿이 많이 발생할까요? 차라리 날짜에 넌클러스트를 주고 하는게 더 효과적일까요?
어떤게 더 효율적일지 궁금합니다.
범위 검색을 넌클러스터로 주시면 부하가 상당히 많습니다.
날짜에 클러스터를 두시는걸로 테스트 해보시는게 좋을것 같습니다.