MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quelle est la différence entre COUNT_SCAN et IXSCAN ?

Le court :COUNT_SCAN est le moyen le plus efficace d'obtenir un décompte en lisant la valeur d'un index, mais ne peut être effectué que dans certaines situations. Sinon, IXSCAN est effectué suivi d'un filtrage des documents et d'un décompte en mémoire.

Lors de la lecture depuis le secondaire, la lecture concerne available est utilisé. Ce niveau de préoccupation ne prend pas en compte les documents orphelins dans les clusters partitionnés, et donc pas de SHARDING_FILTER scène sera jouée. C'est alors que vous voyez COUNT_SCAN .

Cependant, si nous utilisons read concern local , nous devons récupérer les documents afin d'effectuer l'étape de filtrage SHARDING_FILTER. Dans ce cas, il y a plusieurs étapes pour répondre à la requête :IXSCAN , puis FETCH puis SHARDING_FILTER .