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

La ordenación de MongoDB es extremadamente lenta incluso en campos indexados

Debes ejecutar explain en contra de su consulta, le ayudará a averiguar qué está pasando.

Es probable que Mongo no esté usando un índice para filtrar y ordenar. Cuando usas un $or , puede usar varios índices para hacer coincidir las opciones. Pero cuando agregas un sort puede hacer que no use los índices disponibles para filtrar.

Cuando desee ordenar una consulta, debe asegurarse de que el campo ordenado esté en el índice que desea seleccionar (último, o no puede usarlo para ordenar).

También puede acelerarlo pasando una pista de índice. No sé con cuántos documentos coincide tu consulta, pero si es un número pequeño y te aseguras de que las condiciones iniciales alcanzan un índice, ordena en _id se puede hacer rápidamente.