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

MongoDB :la taille du document affecte-t-elle les performances des requêtes ?

Une façon de reformuler la question est de dire :est-ce qu'une requête de 1 million de documents prend plus de temps si les documents font 16 Mo au lieu de 16 Ko chacun ?

Corrigez-moi si je me trompe, d'après ma propre expérience, plus la taille du document est petite, plus la requête est rapide.

J'ai effectué des requêtes sur des documents de 500 000 par rapport à des documents de 25 000 et la requête de 25 000 était sensiblement plus rapide - allant de quelques millisecondes à 1 à 3 secondes plus rapidement. En production, la différence de temps est d'environ 2x à 10x plus.

Le seul aspect où la taille du document entre en jeu est le tri des requêtes, auquel cas la taille du document affectera l'exécution ou non de la requête elle-même. J'ai atteint cette limite plusieurs fois en essayant de trier aussi peu que 2 000 documents.

Plus de références avec quelques solutions ici :https://docs.mongodb.org/manual /référence/limites/#opérations https://docs.mongodb.org/ manuel/référence/opérateur/agrégation/sort/#sort-memory-limit

En fin de compte, c'est l'utilisateur final qui en souffre.

Lorsque j'essaie de remédier à des requêtes volumineuses entraînant une lenteur inacceptable des performances. Je me retrouve généralement à créer une nouvelle collection avec un sous-ensemble de données et à utiliser de nombreuses conditions de requête avec un tri et une limite.

J'espère que cela vous aidera !