CHƢƠNG 2 MỘT SỐ HỆ THỐNG THU THẬP DỮ LIỆU
3.3. MongoDB cho việc lƣu trữ cơ sở dữ liệu
3.3.3. Chỉ mục trong MongoDB
Chỉ mục (index) hỗ trợ việc phân giải các truy vấn hiệu quả hơn. Nếu không có chỉ mục MongoDB phải quyét qua mọi document của một collection để chọn các document khớp với câu lệnh truy vấn. Việc quyét này sẽ không hiệu quả và yêu cầu MongoDB xử lý một số lƣợng lớn dữ liệu.
Chỉ mục là cấu trúc dữ liệu đặc biệt, lƣu giữ một phần nhỏ của tập dữ liệu, giúp việc truy cập vào collection một cách dễ dàng hơn. Chỉ mục giữ giá trị của một trƣờng cụ thể hoặc một tập các trƣờng, đƣợc sắp xếp bởi giá trị của trƣờng nhƣ đã đƣợc xác định trong chỉ mục.
Trong MongoDB có 7 loại chỉ mục:
- _id: tất cả collections trong MongoDB đều có một chỉ mục mặc định - _id.
Nếu ứng dụng không chỉ rõ giá trị cho _id, MongoDB sẽ tạo giá trị mặc định cho nó. Giá trị mặc định là duy nhất, ngăn cản các ứng dụng chèn hai document có cùng giá trị _id;
- Chỉ mục đơn trƣờng (Single Field): chỉ mục trên một trƣờng - Chỉ mục đa trƣờng (Compound Field): chỉ mục trên nhiều trƣờng
- Chỉ mục nhiều khoá (Multikey): MongoDB sử dụng chỉ mục này để đánh chỉ mục cho nội dung đƣợc lƣu trữ trong mảng.
- Chỉ mục không gian (Geospatial): MongoDB sử dụng chỉ mục này để hỗ trợ truy vấn dữ liệu không gian một cách hiệu quả.
- Chỉ mục văn bản (Text): MongoDB sử dụng chỉ mục này để hỗ trợ tìm kiếm nội dung văn bản trong collection.
- Chỉ mục băm (Hashed): đánh chỉ mục dựa trên giá trị hash của trƣờng đƣợc chọn đánh chỉ mục.