Thực hiện các bước sau trên collection movies:
• Truy vấn các phim có year >= 2015 kèm explain("executionStats"), khi chưa có index
• Ghi nhận các chỉ số: totalDocsExamined, executionTimeMillis (lưu vào biến; chỉ in totalDocsExamined và stage của kế hoạch thực thi, không in executionTimeMillis vì thời gian thay đổi mỗi lần chạy)
• Tạo index tăng dần trên trường year ({ year: 1 })
• Chạy lại truy vấn với explain("executionStats")
• So sánh và nhận xét sự khác biệt (ghi nhận xét bằng comment //)
Template có sẵn hàm hỗ trợ dsStage(plan) trả về chuỗi các stage của kế hoạch thực thi từ ngoài vào trong, ví dụ FETCH > IXSCAN.
Không cần lệnh use: collection đã có sẵn trong database hiện tại. Không in toàn bộ kết quả explain() (có chứa thời gian chạy, thông tin máy chủ thay đổi mỗi lần chạy) — chỉ in đúng các giá trị mà phần Output yêu cầu.
Collection movies (dữ liệu mẫu sample_mflix.movies) đã được nạp sẵn vào database hiện tại.
Đúng 5 dòng, mỗi dòng in bằng print(...):
dsStage(...) của queryPlanner.winningPlan khi chưa có indexexecutionStats.totalDocsExamined khi chưa có indexprint(db.movies.createIndex(...))dsStage(...) của queryPlanner.winningPlan sau khi có indexexecutionStats.totalDocsExamined sau khi có indexVí dụ định dạng (số liệu minh hoạ):
COLLSCAN
1000
year_1
FETCH > IXSCAN
50
Ví dụ:
Đầu vào:
sample_mflix.movies
Đầu ra:
COLLSCAN
23539
year_1
FETCH > IXSCAN
485
Đang tải editor...