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

MongoDB сортирането е изключително бавно дори при индексирани полета

Трябва да стартирате explain срещу вашата заявка, това ще ви помогне да разберете какво се случва.

Вероятно Mongo не използва индекс както за филтриране, така и за сортиране. Когато използвате $or , може да използва множество индекси, за да съответства на опциите. Но когато добавите sort това може да го накара да не използва налични индекси за филтриране.

Когато искате да сортирате по заявка, трябва да се уверите, че сортираното поле е в индекса, който искате да ударите (последно или то не може да го използва за сортиране).

Може да успеете да го ускорите, като подадете и намек за индекс. Не знам на колко документа съвпада вашата заявка, но ако е малко и се уверите, че първоначалните условия достигат до индекс, сортирайте по _id може да се направи бързо.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose не създава индекси

  2. Как да се справя с дата по-ниска от 1970 г. в MongoDB

  3. MongoDB Дублиращи се документи дори след добавяне на уникален ключ

  4. Актуализацията на Mongodb с upsert е неуспешна

  5. Инструмент за създаване на визуализация от съществуваща MongoDB