sql >> Databasteknik >  >> NoSQL >> MongoDB

tar bort scanAndOrder :sant i mitt MongoDB-frågeresultat

Tack för shoutouten på Dex!

Om det inte är för sent här under 2013 är indexet jag rekommenderar för att undvika scanAndOrder här { _id:-1, cl:1, user_id:1 }.

Anledningen är att en $lt på _id och en $in på user_id utgör intervall över flera index "buckets". Ett index av någon annan ordning än ovan betyder att dessa hinkar fortfarande måste sorteras tillsammans för att uppfylla en sortering på _id. Genom att sätta _id först kommer alla dokument som besöks i indexet att vara korrekt beställda i förväg.

Observera att detta är en liten förbättring jämfört med Andres förslag ({ _id:-1, user_id:1, cl:1 }, vilket också bör undvika scanAndOrder) eftersom det tillåter den raka likvärdighetskontrollen på cl för att beskära resultaten.

Kolla in http://blog.mongolab.com/2012/06/cardinal- ins/ för mer information.



  1. Hur summerar man arrayer från olika dokument i MongoDB Aggregation?

  2. MongoDB självsignerad SSL-anslutning:SSL-peer-certifikatvalidering misslyckades

  3. Infoga MongoDB-dokument med React.js

  4. Hantera långvarig verksamhet i MongoDB