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' }
.