복붙노트

[MONGODB] MongoDB를 집계 프레임 워크 :합니까 $ 단체 이용 지수?

MONGODB

MongoDB를 집계 프레임 워크 :합니까 $ 단체 이용 지수?

나는 $ 일치와 $ 그룹 단계로 통합 프레임 워크를 사용하는 것을 시도하고있다. $ 그룹 스테이지 사용 인덱스 데이터를합니까? 나는 최신 MongoDB의 버전을 사용하고 있습니다 - 2.5.4

해결법

  1. ==============================

    1.$ 그룹은 인덱스 데이터를 사용하지 않습니다.

    $ 그룹은 인덱스 데이터를 사용하지 않습니다.

    MongoDB를 워드 프로세서에서 :

  2. ==============================

    2.4J41의 대답이 말했듯이 파이프 라인의 첫 번째 단계 인 경우 $ 일종의는하지만, $ 그룹 (직접), 인덱스를 사용하지 않습니다. 그러나, 즉시 넣어 효과적으로 인덱스의 사용을 만들 수있는 경우에, 일종의 달러 (A $)를 다음 경우 $ 그룹은 원칙적으로 최적화 된 구현을 가질 수 가능성이 보인다 $ 일종의 손 전.

    4J41의 대답이 말했듯이 파이프 라인의 첫 번째 단계 인 경우 $ 일종의는하지만, $ 그룹 (직접), 인덱스를 사용하지 않습니다. 그러나, 즉시 넣어 효과적으로 인덱스의 사용을 만들 수있는 경우에, 일종의 달러 (A $)를 다음 경우 $ 그룹은 원칙적으로 최적화 된 구현을 가질 수 가능성이 보인다 $ 일종의 손 전.

    (내가 그랬다면이있을 것입니다 내기 있지만이 그렇지 않은 제안, 그래서) $ 그룹이 최적화가 있는지 여부에 대한 문서에 바로 대답 중 하나 방법이있을 것 같지 않습니다. 대답은 MongoDB의 버그 4507에 : 4J41의 대답의 상단 라인 잘 결국 그래서 현재 $ 그룹이 구현되어 있지 않습니다. 당신이 정말로 응용 프로그램에 따라 효율성이 필요한 경우는 일반 쿼리를 사용하여 클라이언트 코드에서 그룹화를 수행하는 가장 빠른 수 있습니다.

    편집 : 세바스챤의 대답은 말한다, 일종의 $를 사용하여 실제로는 매우 큰 속도 향상을 할 수있는 $ 그룹 전에 (즉 인덱스를 활용할 수 있습니다) 것으로 보인다. (오히려 로딩 첫째 메모리에 모두보다 항목이로드로 그룹 항목에 시작입니다) 인덱스의 절대 최상의 장점을하지 않는 것 같다, 그래서 버그는 위의 여전히 열려 있습니다. 하지만 여전히 일을 확실히 가치가있다.

  3. ==============================

    3.버전 3.2에서 변경 : MongoDB를 3.2, 인덱스가 집계 파이프 라인을 커버 할 수있다 시작. 파이프 라인은 인덱스를 사용하는 경우에도, 집계는 여전히 실제 문서에 대한 액세스를 필요로하기 때문에 MongoDB를 2.6과 3.0에서 인덱스가 집계 파이프 라인을 포함 할 수 없었다.

    버전 3.2에서 변경 : MongoDB를 3.2, 인덱스가 집계 파이프 라인을 커버 할 수있다 시작. 파이프 라인은 인덱스를 사용하는 경우에도, 집계는 여전히 실제 문서에 대한 액세스를 필요로하기 때문에 MongoDB를 2.6과 3.0에서 인덱스가 집계 파이프 라인을 포함 할 수 없었다.

    https://docs.mongodb.com/master/core/aggregation-pipeline/#pipeline-operators-and-indexes

  4. ==============================

    4.@ArthurTacca는 몽고의 같은 4.0 $ 정렬 $ 그룹이 크게 일을 속도가 향상됩니다 선행. https://stackoverflow.com/a/56427875/92049를 참조하십시오.

    @ArthurTacca는 몽고의 같은 4.0 $ 정렬 $ 그룹이 크게 일을 속도가 향상됩니다 선행. https://stackoverflow.com/a/56427875/92049를 참조하십시오.

  5. from https://stackoverflow.com/questions/20455752/mongodb-aggregation-framework-does-group-use-index by cc-by-sa and MIT license