sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB sammansatt indexanvändning

I MongoDB , kan du använda indexprefix för att fråga databasen. Du kan inte använda något annat. Om din fråga inte innehåller nyckelprefix kommer indexet inte att användas .

Förutsatt ditt föreslagna index {'key1':1,'key2':1} :

Frågor som använder index:

  • db.some.find({key1 : {$gt : 100}}) - använder prefix
  • db.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}}) - använder fullständigt index
  • db.some.find({key3 : 'test'}).sort({key1 : 1}) - använder prefix för sortering (riktningsmatchning)

Frågor som INTE kommer att använda index:

  • db.some.find({key2 : {$gt : 100}}) - indexordning spelar roll - nyckel2 är inte prefix
  • db.some.find({key3 : 'test'}).sort({key1 : -1}) - indexriktningen är viktig för index med flera kolumner
  • db.some.find({key3 : 'test'}).sort({key2 : 1}) - det är inte prefix


  1. Mongo hur man $lookup med DBRef

  2. Memcache v/s redis för att upprätthålla ihållande sessioner?

  3. Mongo gränssnitt

  4. Vilka är de underliggande skillnaderna mellan select, epoll, kqueue och evport?