2012-05-29 8 views
0

내가 아래로 _ID와 CreationTimestamp.O 필드를 기반 쿼리 모음이있는 경우 :MongoDB의 인덱스 쿼리

var _query = Query.And(
Query.EQ("_id", "TheId"), 
    Query.GT("CreationTimestamp.0", DateTimeOffset.UtcNow.AddMinutes(-15).UtcTicks)); 

내가이 분야 모두에서 복합 인덱스를 생성해야을? _id에는 기본적으로 색인이 있습니다.

내가 즉, 두 필드에 대한 복합 인덱스를 만들거나 이미 _id

답변

3

에 인덱스 자신처럼 여기 복합 인덱스를 만드는 많은 혜택이 아니다 CreationTimestamp.O에 대한 인덱스를 만드는 가장 좋은 방법에 대한 지침을 찾고 있어요 . _id 필드에서 자동 생성 된 인덱스의 선택도가 1 (고유 인덱스)이기 때문에 접두어가 붙은 복합 인덱스를 가질 이유가 없습니다. 가능한 유일한 이점은 MongoDB가이 쿼리에 covered index을 사용할 수 있으며 가능성을 가속화 할 수 있다는 것입니다 (이를 입증하기 위해 데이터를 벤치마킹해야합니다).