MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czy kursor.skip() na klawiszach indeksowanych jest zawsze szybszy?

Żadne z Twoich zapytań nie filtruje według age , więc nie ma powodu, aby używać indeksu.

Jeśli dodasz warunek na age , będzie różnica (nawet minimalna przy tak małej liczbie dokumentów)

> pageNumber=18;nPerPage=20; db.slow.find({age:{$gt:200}}).
      skip(pageNumber > 0 ? ((pageNumber-1)*nPerPage) : 0).limit(nPerPage).
      explain("executionStats")

# "executionTimeMillis" : 14,
# "inputStage" : {
#     "stage" : "COLLSCAN",

> pageNumber=18;nPerPage=20; db.fast.find({age:{$gt:200}}).
      skip(pageNumber > 0 ? ((pageNumber-1)*nPerPage) : 0).limit(nPerPage).
      explain("executionStats"

# "executionTimeMillis" : 0,
# "inputStage" : {
#     "stage" : "IXSCAN",


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd zależności czasu wykonywania MongoDB Reactive Streams ze złączem Alpakka Mongo ClassNotFoundException

  2. mongodb :zwiększanie maksymalnej liczby połączeń w mongodb

  3. szeregi czasowe i ramy agregacji (mongo)

  4. MongoDB $setIntersection

  5. Zaludnij + Agreguj w Mongoose