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

Truy vấn phạm vi chậm trên một chỉ mục nhiều khóa

Đã tìm thấy câu trả lời của tôi trong câu hỏi này: Thứ tự của $ lt và $ gt trong truy vấn phạm vi MongoDB

Chỉ mục của tôi là chỉ mục đa khóa (trên các thẻ tags ) và tôi đang chạy một truy vấn phạm vi (trên post_time ). Rõ ràng , MongoDB không thể sử dụng cả hai bên của phạm vi làm bộ lọc trong trường hợp này, vì vậy nó chỉ chọn $gte mệnh đề nào đến trước. Vì giới hạn dưới của tôi là post_time thấp nhất giá trị, MongoDB bắt đầu quét tất cả các đối tượng.

Thật không may, đây không phải là toàn bộ câu chuyện. Cố gắng giải quyết vấn đề, tôi cũng đã tạo các chỉ mục không phải đa khóa nhưng MongoDB nhất quyết sử dụng chỉ mục không hợp lệ. Điều đó khiến tôi nghĩ rằng vấn đề nằm ở chỗ khác. Cuối cùng, tôi phải bỏ chỉ mục đa khóa và tạo một chỉ mục không có thẻ tags đồng ruộng. Hiện tại mọi thứ đều ổn.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Không thể truy xuất giá trị _id bằng mgo với golang

  2. Cập nhật mảng trong mongo và nâng cấp

  3. Không thể duy trì trạng thái giao dịch vì thiếu tập hợp giao dịch phiên

  4. MongoDB db.copyDatabase không thành công khi trái phép

  5. Gặp lỗi khi tôi cài đặt MongoDB trên RedHat