Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Nhiều insert/update không ảnh hưởng hiệu năng MongoDB

Tối ưu ghi hàng loạt với insertMany() và index

Để nhập/xuất dữ liệu hiệu quả:

  • insertMany(): Ghi nhiều document trong một network round-trip
  • ensureIndex()/createIndex(): Tạo index trước khi update nhiều để tăng tốc tìm kiếm

Ví dụ insertMany

> db.demo325.insertMany([
    { _id: 101, Name: "Chris", Age: 23 },
    { _id: 102, Name: "David", Age: 24 },
    { _id: 103, Name: "Bob", Age: 22 }
]);

Kết quả: { "acknowledged": true, "insertedIds": [101, 102, 103] }

Tạo index hỗ trợ update

> db.demo325.createIndex({ Name: 1 });

Mẹo hiệu năng khác:

  • ordered: false trong insertMany: Tiếp tục chèn nếu một document lỗi
  • bulkWrite(): Kết hợp insert/update/delete trong một batch
  • Tắt index tạm thời khi import dữ liệu lớn, bật lại sau
  • Sử dụng writeConcern phù hợp (acknowledged vs unacknowledged)