Ja, want MongoDB zal zeker de _id-index gebruiken (idhack
).
Bij de tweede methode kun je - zoals je hebt opgemerkt - niet zeggen of een index zal worden gebruikt voor een bepaald veld.
Het antwoord zal dus zijn:het hangt ervan af.
Als uw collectie miljoenen of meer documenten bevat en/of het aantal zoekvelden vrij groot is, zou u de voorkeur moeten geven aan de eerste zoekmethode. Vooral als de ID-lijst niet klein is en/of de ID-waarden aangrenzend zijn.
Als uw verzameling vrij klein is en u een volledige scan kunt verdragen, geeft u misschien de voorkeur aan de tweede benadering.
In elk geval moet u beide methoden bewijzen met behulp van explain()
.