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

премахване на scanAndOrder :true в резултата от моята MongoDB заявка

Благодаря за поздравленията на Dex!

Ако не е твърде късно тук през 2013 г., индексът, който препоръчвам за избягване на scanAndOrder тук е { _id:-1, cl:1, user_id:1 }.

Причината е, че $lt на _id и $in на user_id представляват диапазони в множество индексни "кофи". Индекс в произволен ред, различен от горния, означава, че тези кофи все още трябва да бъдат сортирани заедно, за да удовлетворят сортирането по _id. Като поставите _id на първо място, всички документи, посетени в индекса, ще бъдат правилно подредени предварително.

Обърнете внимание, че това е леко подобрение в сравнение с предложението на Андре ({ _id:-1, user_id:1, cl:1 }, което също трябва да избягва scanAndOrder), защото позволява директната проверка за еквивалентност на cl да изрязва резултатите.

Вижте http://blog.mongolab.com/2012/06/cardinal- ins/ за повече подробности.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo C# драйвер - Динамично изграждане на филтър с влагане

  2. Грешка E QUERY [thread1] SyntaxError:невалиден идентификатор на свойство @(shell) с помощта и/или с find()

  3. Как да стартирате множество приложения с един mongodb с помощта на docker

  4. Съхранение на null срещу не съхраняване на ключа изобщо в MongoDB

  5. Преглед на MongoDB Database Profiler