Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: So sánh truy vấn có và không có index

    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.

    • Định dạng đầu vào:

      Collection movies (dữ liệu mẫu sample_mflix.movies) đã được nạp sẵn vào database hiện tại.

    • Định dạng đầu ra:

      Đúng 5 dòng, mỗi dòng in bằng print(...):

      1. dsStage(...) của queryPlanner.winningPlan khi chưa có index
      2. executionStats.totalDocsExamined khi chưa có index
      3. Tên index vừa tạo: print(db.movies.createIndex(...))
      4. dsStage(...) của queryPlanner.winningPlan sau khi có index
      5. executionStats.totalDocsExamined sau khi có index

      Ví 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

    Chủ đề

    🗄️ Cơ sở dữ liệuMongodbIndexTất cả môn học

    Đang tải editor...