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

Biểu thức chính quy MongoDB với trường được lập chỉ mục

Lý do cho sự khác biệt về hiệu suất ở đây có thể là, với chỉ mục được bật, truy vấn của bạn phải duyệt qua chỉ mục (tải vào bộ nhớ), sau đó tải các tài liệu phù hợp cũng được trả lại vào bộ nhớ. Vì bạn không sử dụng truy vấn tiền tố nên tất cả các giá trị trong chỉ mục sẽ được quét và kiểm tra dựa trên biểu thức chính quy. Không hiệu quả lắm.

Khi bạn xóa chỉ mục, bạn chỉ đang thực hiện quét bảng và khớp với regex ở đó - về cơ bản bạn đã đơn giản hóa mọi thứ từ chỉ mục đầu tiên một chút.

Bạn có thể làm cho phiên bản được lập chỉ mục nhanh hơn nếu nó là truy vấn chỉ mục được đề cập , nó cũng có thể sẽ nhanh hơn nếu đây là một chỉ mục kết hợp và bạn cần kết hợp nó với các tiêu chí cho một trường khác.

Khi bạn sử dụng truy vấn tiền tố, không phải khi đó nó chỉ sử dụng một chỉ mục, mà bạn sử dụng chỉ mục một cách hiệu quả, đó là chìa khóa và do đó bạn thấy hiệu suất thực sự đạt được.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongo - không thể kết nối với máy chủ 127.0.0.1:27017

  2. Cách kết nối với phiên bản MongoDB EC2

  3. Cách lấy tài liệu mongoDB trước đó từ chỉ mục ghép

  4. mongoose Tìm với nhiều điều kiện

  5. Tìm kiếm toàn văn bằng mongodb trong .net