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

MongoDB không sử dụng chỉ mục của tôi

Các chỉ mục mongodb thông thường sử dụng cả giá trị trường và kiểu để xây dựng cây.

Các truy vấn như $empty: true hoặc $ne: null không có tham số thuộc bất kỳ loại nào và không thể hưởng lợi từ các chỉ mục đó. Đây là một trường hợp đặc biệt và yêu cầu một chỉ mục thưa thớt đặc biệt .

Nếu [email protected]_1 chỉ mục được tạo dưới dạng:

db.getCollection('logs.res').createIndex(
    {
        "timeStamp" : -1,
        "[email protected]" : 1
    },
    { sparse: true }
)

Nó sẽ hỗ trợ tốt nhất cho truy vấn của bạn. Nếu không, không có nhiều sự khác biệt giữa [email protected]_1timeStamp_1_module_1_etc vì trường đầu tiên duy nhất đang được sử dụng.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn $ near thông qua Java

  2. Cách truy vấn ngày mongodb bằng php

  3. MongoDB 2.2 - Cập nhật tài liệu lồng ghép mảng

  4. cách cập nhật nhiều tài liệu với các giá trị khác nhau

  5. Làm cách nào để có được tỷ lệ sử dụng nhóm kết nối hiện tại trên máy khách bằng trình điều khiển .net mongo?