sql >> Databasteknik >  >> NoSQL >> MongoDB

Är cursor.skip() på indexerade nycklar alltid snabbare?

Ingen av dina frågor gör ett filter på age , så det finns ingen anledning att använda indexet.

Om du lägger till ett villkor för age , kommer det att finnas en skillnad (även om den är minimal med så få dokument)

> 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. Vad är skillnaden mellan MongoDB Atlas och MongoDB Atlas för AWS

  2. Kan inte hitta modulen 'socket.io/node_modules/redis'

  3. Hur skapar jag ett textindex i mongodb med golang och mgo-biblioteket?

  4. Vilket är det maximala antalet parametrar som skickas till $in-frågan i MongoDB?