MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB Агрегиране с $sample много бавно

Мога да потвърдя, че нищо не се е променило в 3.6Slow $sample проблемът продължава.

~40m колекция от малки документи, без индекси, Windows Server 2012 x64.

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

2018-04-02T02:27:27.743-0700I COMMAND [conn4] команда maps.places

command:aggregate { aggregate:"places", pipeline:[ { $sample:{ size:10 } } ] ,

 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 } } }

protocol:op_query 72609ms

Инсталирах Mongo, за да изпробвам тази „модерна и производителна СУБД“ в сериозен проект. Колко дълбоко съм разочарован.

Планът за обяснение е тук:

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. MongoDB:Грешка при настройка на TTL индекс на колекция:сесии

  2. Преоразмеряване на изображения с Nodejs и Imagemagick

  3. Mongodb:множество колекции или една голяма колекция с индекс

  4. Вложени коментари в MongoDB

  5. Понякога данните не се показват в браузъра