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

Sự khác biệt về hiệu suất Mongodb giữa các chỉ số Hash và Ascending (Bất kỳ lý do nào để không sử dụng hash trong trường không được sắp xếp?)

Cho trường đó key được lập chỉ mục trong cả hai trường hợp, chính tìm kiếm chỉ mục độ phức tạp sẽ rất giống nhau. Là giá trị của a sẽ là băm và được lưu trữ trong cây chỉ mục.

Nếu chúng tôi đang tìm kiếm chi phí hiệu suất tổng thể, thì phiên bản băm sẽ phải chịu thêm chi phí băm (không đáng kể) cho giá trị của a trước khi khớp với giá trị trong cây chỉ mục. Xem thêm mongo / db / index /hash_access_method.h

Ngoài ra, chỉ mục được băm sẽ không thể sử dụng nén tiền tố chỉ mục ( WiredTiger) . Nén tiền tố chỉ mục đặc biệt hiệu quả đối với một số tập dữ liệu, như những tập dữ liệu có số lượng thấp (ví dụ:quốc gia) hoặc những tập hợp có giá trị lặp lại, như số điện thoại, mã an sinh xã hội và tọa độ địa lý. Nó đặc biệt hiệu quả đối với chỉ mục kết hợp , trong đó trường đầu tiên được lặp lại với tất cả các giá trị duy nhất của trường thứ hai.

Nói chung, không có lý do gì để băm một giá trị không thuộc phạm vi. Để chọn khóa phân đoạn, hãy xem xét cardinality , tần suất tỷ lệ thay đổi của giá trị.

Chỉ mục băm thường được sử dụng cho một trường hợp cụ thể của sharding . Khi một khóa phân đoạn giá trị là tăng / giảm đơn điệu giá trị, việc phân phối dữ liệu có thể chỉ đi vào một phân đoạn. Đây là nơi mà khóa phân đoạn được băm sẽ có thể cải thiện việc phân phối các lần ghi. Đó là một sự đánh đổi nhỏ để cải thiện đáng kể cụm sharding của bạn. Xem thêm Hashed so với Ranged Sharding .

Nó có giá trị hay không, tùy thuộc vào từng trường hợp sử dụng. Giá trị băm tùy chỉnh có nghĩa là bất kỳ truy vấn nào cho giá trị băm sẽ phải trải qua mã băm tùy chỉnh, tức là ứng dụng.

Ưu điểm của việc sử dụng hàm băm tích hợp là MongoDB tự động tính toán các hàm băm khi giải quyết các truy vấn bằng cách sử dụng các chỉ mục được băm. Do đó, các ứng dụng không cần phải tính toán hàm băm.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kỳ lạ MongoDB / Node Giải thích kết quả

  2. Meteor yêu cầu sudo chạy

  3. Cách hideIndex () hoạt động trong MongoDB

  4. Cách thực hiện Tham gia trái trong DB (Mongo)

  5. MongoDB - Lợi thế của việc sử dụng chuỗi 12 byte làm mã định danh duy nhất thay vì giá trị gia tăng