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

как работи индексът Mongodb?

Редът на полетата в индекса има значение; най-добрият съставен индекс за вашия пример за намиране и сортиране всъщност би бил:

db.test.ensure_index([("xxx",1),("_id",-1)])

Тъй като критериите ви за търсене са в полето „xxx“, поставянето на това поле първо в индекса ще намери повече резултати, отколкото търсенето по _id и след това филтриране до документи, съответстващи на вашия xxx критерии.

Ако погледнете n номер за всеки план, разглеждан от оптимизатора на заявки в allPlans , BtreeCursor xxx_1 index всъщност връща най-много резултати (34). Другите индекси връщат 9, 10 и 16 резултата .. така че биха били по-малко ефективни за дадените критерии за търсене.

За повече информация относно оптимизирането на индекса тази статия е много полезна:Оптимизиране на MongoDB съставни индекси .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Разстояние за печат на MongoDB между две точки

  2. mongoDB избира запис въз основа на две условия

  3. $near заявка през Java

  4. В MongoDB mapreduce, как мога да изгладя обекта със стойности?

  5. В Mongo каква е разликата между разделяне и репликация?