2011-07-07 13 views
2

내가 테이블을재무 데이터의 경우 DATETIME을 인덱싱하는 것이 유용합니까?

STOCKCODE, DATETIME, 가격 나는 그런 특정 주식 지정된 날짜에 오후 12시 3.00시 사이 최대 가격을 찾는 등의 기본 쿼리를 수행 할

있다고 가정합시다. 현재로 I 지수 :

STOCKCODE, DATETIME, 가격

DATETIME은 기본적으로 중복 데이터가없는 즉 밀리 초 수준까지 세분화이다. 필자가 수행하고자하는 쿼리 유형에는 더 좋은 인덱스 방법이 있습니까? 또는 더 일반적으로 사용할 수있는 더 나은 스키마가 있습니까?

답변

3

datetime이 충분하기 때문에 가격 지수를 제외하고는 귀하의 접근 방식이 좋다고 말할 수 있습니다. 단 하나의 주식 코드 + 날짜/시간 조합 당 하나 이상의 (또는 2 개 또는 어쩌면 3 개) 가격 항목을 가질 수 없습니다.

이것은 위에서 설명한 동작을 지원하기위한 것일 뿐이며 다른 작업이있는 경우 다른 작업이 필요할 수도 있습니다.

+0

+1. 그래도 커버리지 인덱스를 만들기 위해 '가격'을 포함하면 도움이 될 수 있습니다. –

+0

시간대에 백만 건이 거래되면 데이터베이스가 백만 줄을 순차적으로 스캔해야합니까? – deltanovember

+0

@deltanovember - 절대적으로 그렇습니다. 이것을 생각해보십시오. 종이 위에 있다면 어떻게할까요 (더 적은 수, 예를 들어 20을 사용하십시오), 먼저 시간 프레임 (여기 인덱스를 사용했습니다)의 모든 항목을 가져 가야합니다. 여물통을 찾아 가장 높은 것을 찾으십시오. 목록은 이미 시간순으로 주문되었으므로 가격별로 주문하지 않습니다. –