MongoDB - Giới hạn lập chỉ mục
Trong chương này, chúng ta sẽ tìm hiểu về Giới hạn lập chỉ mục và các thành phần khác của nó.
Chi phí bổ sung
Mỗi chỉ mục chiếm một số không gian cũng như gây ra chi phí trên mỗi lần chèn, cập nhật và xóa. Vì vậy, nếu bạn hiếm khi sử dụng bộ sưu tập của mình cho các thao tác đọc, bạn không nên sử dụng các chỉ mục.
Sử dụng RAM
Vì chỉ mục được lưu trữ trong RAM, bạn nên đảm bảo rằng tổng kích thước của chỉ mục không vượt quá giới hạn RAM. Nếu tổng kích thước tăng kích thước RAM, nó sẽ bắt đầu xóa một số chỉ mục, gây giảm hiệu suất.
Giới hạn truy vấn
Không thể sử dụng lập chỉ mục trong các truy vấn sử dụng -
- Biểu thức chính quy hoặc toán tử phủ định như $ nin, $ not, v.v.
- Các toán tử số học như $ mod, v.v.
- mệnh đề $ where
Do đó, bạn nên kiểm tra việc sử dụng chỉ mục cho các truy vấn của mình.
Giới hạn chính của chỉ mục
Bắt đầu từ phiên bản 2.6, MongoDB sẽ không tạo chỉ mục nếu giá trị của trường chỉ mục hiện có vượt quá giới hạn khóa chỉ mục.
Chèn tài liệu vượt quá giới hạn khóa của chỉ mục
MongoDB sẽ không chèn bất kỳ tài liệu nào vào bộ sưu tập được lập chỉ mục nếu giá trị trường được lập chỉ mục của tài liệu này vượt quá giới hạn khóa chỉ mục. Tương tự với các tiện ích mongorestore và mongoimport.
Phạm vi tối đa
- Một bộ sưu tập không được có nhiều hơn 64 chỉ mục.
- Độ dài của tên chỉ mục không được dài hơn 125 ký tự.
- Một chỉ mục kết hợp có thể có tối đa 31 trường được lập chỉ mục.