MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Mongodb 2.4 2dsphere truy vấn rất chậm (sử dụng $ geoIntersects)?

Truy vấn trong nhật ký không khớp với truy vấn mà bạn chạy, vị trí khác nhau:

[ 116.3426399230957, 39.95959281921387 ] so với
[ 116.3175773620605, 39.97607231140137 ]

Tôi cũng không nghĩ rằng bạn đã sao chép toàn bộ dòng nhật ký của mình, vì nó chỉ đề cập đến area chứ không phải deliver_area .

Tuy nhiên, chúng không thực sự chậm chạp . Trong trường hợp đầu tiên, mất 103 mili giây, trong một số trường hợp có thể xảy ra do máy chủ của bạn đang thực hiện IO khác. Truy vấn thứ hai mất 5ms dưới dạng explain() đầu ra cho bạn biết.

Nhưng điều nổi bật nhất là tiêu chí chính của bạn là id: 59 . Tôi không biết _id của bạn là gì là trường, nhưng nếu bạn đặt chỉ mục trên id thì điều này thậm chí không cần phải sử dụng 2dsphere lập chỉ mục hoàn toàn - tất nhiên trừ khi bạn có nhiều tài liệu trong đó id=59 . Trong trường hợp đó, bạn có thể tốt hơn với khóa ghép trên { id: 1, deliver_area: '2dsphere' } .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb - cập nhật một phần số lượng tài liệu

  2. Quản lý người dùng cơ sở dữ liệu với ClusterControl

  3. MongoDB, hiệu suất của truy vấn theo biểu thức chính quy trên các trường được lập chỉ mục

  4. Mongo shell thực hiện truy vấn từ tệp và hiển thị kết quả

  5. Bộ lọc ngày Mongoose