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

MongoDB не използва моя индекс

Редовните индекси на mongodb използват както стойността на полето, така и типа, за да изградят дървото.

Заявки като $empty: true или $ne: null нямат параметър от никакъв тип и не могат да се възползват от такива индекси. Това е специален случай и изисква специален разреден индекс .

Ако вашият [email protected]_1 индексът се създава като:

db.getCollection('logs.res').createIndex(
    {
        "timeStamp" : -1,
        "[email protected]" : 1
    },
    { sparse: true }
)

Той трябва да поддържа вашето запитване най-добре. В противен случай няма голяма разлика между [email protected]_1 и timeStamp_1_module_1_etc тъй като се използва само първото поле.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Драйверът nodejs mongodb прекъсва връзката, когато е неактивен

  2. Грешка в заявката за вложен избор на Mongodb

  3. Вземете BinData UUID от Mongo като низ

  4. Typescript Mongoose игнорира определено поле в резултата от заявката по безопасния начин

  5. Заменете вградения документ с помощта на драйвер Mongo C# 2.0