MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Agregacja MongoDB z $sample bardzo powolną

Mogę potwierdzić, że nic się nie zmieniło w 3.6Slow $sample problem nadal występuje.

~40m kolekcja małych dokumentów, bez indeksów, Windows Server 2012 x64.

storage:wiredTiger.engineConfig.journalCompressor:zlibwiredTiger.collectionConfig.blockCompressor:zlib

2018-04-02T02:27:27.743-0700I POLECENIE [conn4] Polecenie maps.places

polecenie:agregat { agregat:"miejsca", potok:[ { $sample:{ size:10 } } ] ,

Kursor
 cursor: {}, lsid: { id: UUID("0e846097-eecd-40bb-b47c-d77f1484dd7e") }, $readPreference: { mode: "secondaryPreferred" }, $db: "maps" } planSummary: MULTI_ITERATOR keysExamined:0 docsExamined:0 cursorExhausted:1 numYields:3967 nreturned:10 reslen:550 locks:{ Global: { acquireCount: { r: 7942 } }, Database: { acquireCount: { r: 3971 } }, Collection: { acquireCount: { r: 3971 } } }

protokół:op_query 72609ms

Zainstalowałem Mongo, aby wypróbować ten "nowoczesny i wydajny DBMS" w poważnym projekcie. Jak bardzo jestem sfrustrowany.

Wyjaśnij plan jest tutaj:

db.command('aggregate', 'places', pipeline=[{"$sample":{"size":10}}], explain=True)

 {'ok': 1.0,
  'stages': [{'$cursor': {'query': {},
    'queryPlanner': {'indexFilterSet': False,
     'namespace': 'maps.places',
     'plannerVersion': 1,
     'rejectedPlans': [],
     'winningPlan': {'stage': 'MULTI_ITERATOR'}}}},
  {'$sampleFromRandomCursor': {'size': 10}}]}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak działa oddzwonienie zwrotne Mongoose?

  2. Procent nakładania się wielokątów

  3. Przerzuć zwykły obiekt na dokument mangusty

  4. Heroku nie mógł uwierzytelnić Mongolab

  5. Korzystaj z jednego MongoClient w ramach usługi internetowej JavaEE