내가 최적화하려고하는 MongoDB 쿼리가 있습니다. 쿼리의 필드와 일치하는 인덱스를 만들었지 만 MongoDB의 쿼리 계획자가 nscanned
및 milli
이 힌트 버전에 더 좋음에도 불구하고 명시 적 hint()
없이 인덱스를 사용하는 것처럼 보일 수 없습니다. 여기 MongoDB가 올바른 색인을 사용하지 않는 이유는 무엇입니까?
http://paste.roguecoders.com/p/4face5649612e840da04c5fea0491c9b.txt
정보 중 하나는 추가 비트 :이 지수는에 큰 틱 컬렉션입니다 복제본 집합이므로 offline method을 사용하여 색인을 만들었습니다. 현재 모든 노드에 있습니다.
는 (원래 MongoDB-User에 게시.)
색인을 만든 경우 어떻게해야합니까? 'owner_1_date_-1_from_backup_1'? – Sammaye
내 인덱스가 맞습니다. 나는'날짜'를 정렬 중입니다. (그리고 '힌트()'가 더 좋다는 것을 확인해줍니다.) 프로덕션 데이터 세트에서이 컬렉션을 인덱싱하는 데 1 시간 이상이 걸리므로 좋은 이유없이 그냥 시도하지 않을 것입니다. (- : – scoates
이 링크는 왜 'scanAndOrder'를 얻었는지 설명 할 수 있습니다. http://blog.mongolab.com/2012/06/cardinal-ins/ MongoDb에서 생성 된 색인이 최적의 것으로 보이지 않는 이유를 설명 할 수도 있습니다 – Sammaye