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

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

Trên thực tế, theo tài liệu,

Nếu tồn tại một chỉ mục cho trường, thì MongoDB sẽ đối sánh biểu thức chính quy với các giá trị trong chỉ mục, có thể nhanh hơn quét acollection. Tối ưu hóa hơn nữa có thể xảy ra nếu biểu thức chính quy là một "biểu thức tiền tố", có nghĩa là tất cả các đối sánh tiềm năng bắt đầu bằng cùng một chuỗi. Điều này cho phép MongoDB tạo một "phạm vi" từ tiền tố đó và chỉ khớp với các giá trị từ chỉ mục nằm trong phạm vi đó.

http://docs.mongodb.org/manual/reference/operator/query/regex/#index-use

Nói cách khác:

Đối với /Jon Skeet/ regex, mongo sẽ quét toàn bộ các khóa trong chỉ mục sau đó sẽ tìm nạp các tài liệu phù hợp, có thể nhanh hơn quét bộ sưu tập.

Đối với /^Jon Skeet/ regex, mongo sẽ chỉ quét phạm vi bắt đầu bằng regex trong chỉ mục, điều này sẽ nhanh hơn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Các trường hợp sử dụng cho updateOne over findOneAndUpdate trong MongoDB

  2. Không thể kết nối với máy chủ 127.0.0.1:27017

  3. Tìm kiếm mongodb dữ liệu mùa xuân cho ngày ISO

  4. cách chuyển đổi chuỗi thành giá trị số trong mongodb

  5. Hỗ trợ không gian địa lý trong MongoDB