sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB :Varför ska vi stänga markören efter att den har använts?

Att stänga markören krävs egentligen bara när du inte "tömmar ut" resultaten. Eller i andra termer, iterera över alla möjliga resultat som returneras av markören.

Att lämna en "markör" öppen är som att lämna en öppen anslutning som aldrig återanvänds. Dessa saker är inte gratis. Faktum är att standardanslutningskostnaden är 1MB (ca). Så om du lämnar många "delvis itererade" markörer hängande finns det en allmän overhead i form av en aktiv anslutning och det är minnesanvändning.

Om du faktiskt alltid upprepar "alla" resultat (och det inkluderar en "gräns" som är en "markörmodifierare") så stängs markören och allt är okej.

Allmän användning kommer att vara att du faktiskt tömmer ut/tömmar markören genom att gå igenom alla resultat. Därför finns det inget uttryckligt behov av att förstöra.



  1. MongoDB findOneAndDelete()

  2. Var är mongoimport installerat på Mac OS X

  3. Selleri beat + redis med lösenord kastar Inget Auth undantag

  4. Mongo DB med C# - dokument tillagt oavsett transaktion