sql >> Databáze >  >> NoSQL >> MongoDB

Je kurzor.skip() na indexovaných klíčích vždy rychlejší?

Žádný z vašich dotazů nefiltruje age , takže není důvod používat index.

Pokud přidáte podmínku age , bude rozdíl (i když minimální s tak malým počtem 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. Dotaz na vnořené pole MongoDB Intersection Query

  2. Vykreslit základní zobrazení HTML?

  3. aktualizace dotazu mongodb vybrat vnořená pole

  4. Správa připojení Mongodb v Javě jako objektově orientovaná