MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongodb 2.4 2dsphere заявки много бавни (използвайки $geoIntersects)?

Заявката в регистрационния файл не съответства на заявката, която изпълнявате, местоположението е различно:

[ 116.3426399230957, 39.95959281921387 ] спрямо
[ 116.3175773620605, 39.97607231140137 ]

Също така не мисля, че сте възпроизвели целия си ред от дневника, тъй като той само споменава area а не deliver_area .

Те обаче не са наистина бавни . В първия случай отне 103 ms, което в някои случаи може да се случи, тъй като сървърът ви извършва други IO. Втората заявка отне 5ms като explain() изходът ви казва.

Но най-впечатляващото е, че вашият основен критерий е id: 59 . Не знам какъв е вашият _id е, но ако зададете индекс на id тогава това дори не трябва да използва 2dsphere индекс изобщо — освен ако разбира се нямате много документи, където id=59 . В такъв случай може да е по-добре със съставен ключ на { id: 1, deliver_area: '2dsphere' } .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Агрегация - За да получите уникални елементи в масив

  2. как да свържа база данни на друга машина mongodb в локалната мрежа?

  3. Как да изчакам да бъде натиснат елемент от списъка на mongoose?

  4. Пропускане на междинен софтуер за времеви отпечатъци за определени актуализации в Mongoose

  5. Как да намеря брой въз основа на условие в MOngoDB Aggregation?