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

Mongodb 2.4 2dsphere consulta muy lento (usando $ geoIntersects)?

La consulta en el registro no coincide con la consulta que ejecuta, la ubicación es diferente:

[ 116.3426399230957, 39.95959281921387 ] frente a
[ 116.3175773620605, 39.97607231140137 ]

Tampoco creo que haya reproducido toda su línea de registro, ya que solo menciona area y no deliver_area .

Sin embargo, no son realmente lentos . En el primer caso, se necesitaron 103 ms, lo que en algunos casos puede ocurrir porque su servidor está realizando otras operaciones de E/S. La segunda consulta tardó 5 ms como explain() la salida te lo dice.

Pero lo que más llama la atención es que su principal criterio es id: 59 . No sé cuál es tu _id el campo es, pero si establece un índice en id entonces esto ni siquiera debería tener que usar un 2dsphere índice en absoluto, a menos que, por supuesto, tenga muchos documentos donde id=59 . En ese caso, podría estar mejor con una clave compuesta en { id: 1, deliver_area: '2dsphere' } .