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: falsetrong insertMany: Tiếp tục chèn nếu một document lỗibulkWrite(): 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
writeConcernphù hợp (acknowledged vs unacknowledged)