MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

MongoDB:o tamanho do documento afeta o desempenho da consulta?


Uma maneira de reformular a pergunta é dizer:uma consulta de 1 milhão de documentos demora mais se os documentos tiverem 16 MB versus 16 KB cada.

Corrija-me se estiver errado, por experiência própria, quanto menor o tamanho do documento, mais rápida a consulta.

Fiz consultas em documentos de 500k versus documentos de 25k e a consulta de 25k foi visivelmente mais rápida - variando de alguns milissegundos a 1-3 segundos mais rápido. Na produção, a diferença de tempo é cerca de 2x-10x mais.

O único aspecto em que o tamanho do documento entra em jogo é na classificação da consulta; nesse caso, o tamanho do documento afetará se a consulta em si será executada ou não. Cheguei a esse limite várias vezes tentando classificar apenas 2k documentos.

Mais referências com algumas soluções aqui:https://docs.mongodb.org/manual /reference/limits/#operations https://docs.mongodb.org/ manual/reference/operator/aggregation/sort/#sort-memory-limit

No final do dia, é o usuário final que sofre.

Quando tento remediar grandes consultas, causando um desempenho inaceitavelmente lento. Eu geralmente me pego criando uma nova coleção com um subconjunto de dados e usando muitas condições de consulta junto com uma classificação e um limite.

Espero que isto ajude!