sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB:påverkar dokumentstorleken frågeprestanda?

Ett sätt att omformulera frågan är att säga, tar en fråga på 1 miljon dokument längre tid om dokumenten är 16 mb mot 16 kb vardera.

Rätta mig om jag har fel, av egen erfarenhet, ju mindre dokumentstorlek, desto snabbare är frågan.

Jag har gjort frågor på 500 000 dokument vs 25 000 dokument och 25 000-frågan var märkbart snabbare - allt från några millisekunder till 1-3 sekunder snabbare. Vid produktion är tidsskillnaden cirka 2x-10x mer.

Den ena aspekten där dokumentstorleken spelar in är vid frågesortering, i vilket fall kommer dokumentstorleken att påverka om själva frågan kommer att köras eller inte. Jag har nått denna gräns flera gånger och försökt sortera så lite som 2k dokument.

Fler referenser med några lösningar här:https://docs.mongodb.org/manual /reference/limits/#operations https://docs.mongodb.org/ manual/reference/operator/aggregation/sort/#sort-memory-limit

I slutet av dagen är det slutanvändaren som lider.

När jag försöker åtgärda stora frågor som orsakar oacceptabelt långsam prestanda. Jag kommer vanligtvis på mig själv med att skapa en ny samling med en delmängd av data och använda många frågevillkor tillsammans med en sortering och en gräns.

Hoppas detta hjälper!



  1. Att köra Meteor på localhost misslyckas med RangeError:porten ska vara>=0 och <65536:NaN

  2. infoga Många Hantera Duplicate Errors

  3. Hur kan jag hantera arrayskärning i find({})?

  4. Infogar ett momentjs-objekt i Meteor Collection