sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB:¿el tamaño del documento afecta el rendimiento de las consultas?

Una forma de reformular la pregunta es decir, ¿una consulta de 1 millón de documentos lleva más tiempo si los documentos tienen 16 mb frente a 16 KB cada uno?

Corríjame si me equivoco, según mi propia experiencia, cuanto menor sea el tamaño del documento, más rápida será la consulta.

He realizado consultas en documentos de 500k frente a documentos de 25k y la consulta de 25k fue notablemente más rápida, desde unos pocos milisegundos hasta 1-3 segundos más rápido. En producción, la diferencia de tiempo es aproximadamente 2x-10x más.

El único aspecto en el que el tamaño del documento entra en juego es en la clasificación de consultas, en cuyo caso, el tamaño del documento afectará si la consulta se ejecutará o no. He alcanzado este límite varias veces tratando de clasificar documentos tan pequeños como 2k.

Más referencias con algunas soluciones aquí:https://docs.mongodb.org/manual /referencia/límites/#operaciones https://docs.mongodb.org/ manual/referencia/operador/agregación/ordenar/#ordenar-límite-memoria

Al final del día, es el usuario final el que sufre.

Cuando intento remediar consultas grandes que causan un rendimiento inaceptablemente lento. Por lo general, me encuentro creando una nueva colección con un subconjunto de datos y usando muchas condiciones de consulta junto con una ordenación y un límite.

¡Espero que esto ayude!