Мне интересно, как различные запросы зависят от производительности. Я понимаю, что объемная вставка выполняется последовательно, а обычные/массивные вставки также выполняются последовательно.В чем разница между объемной вставкой и вставкой массива в операциях Mongo db
BULK INSERT
var bulk = db.items.initializeUnorderedBulkOp();
bulk.insert({ _id: 1, item: "abc123", status: "A", soldQty: 5000 });
bulk.insert({ _id: 2, item: "abc456", status: "A", soldQty: 150 });
bulk.insert({ _id: 3, item: "abc789", status: "P", soldQty: 0 });
bulk.execute({ w: "majority", wtimeout: 5000 });
Нормальный ВСТАВИТЬ
db.items.insert({ _id: 1, item: "abc123", status: "A", soldQty: 5000 });
db.items.insert({ _id: 2, item: "abc456", status: "A", soldQty: 150 });
db.items.insert({ _id: 3, item: "abc789", status: "P", soldQty: 0 });
Массив ВСТАВИТЬ
var array_insert = [
{ _id: 1, item: "abc123", status: "A", soldQty: 5000 } ,
{ _id: 2, item: "abc456", status: "A", soldQty: 150 } ,
{ _id: 3, item: "abc789", status: "P", soldQty: 0 }
] ;
db.items.insert(array_insert);
Может ли один объяснить, белый at - разность интервалов производительности или преимуществ для вышеуказанных запросов?
Спасибо. Хорошо. Но как насчет, если хранить все коллекции в массив и вставлять как отдельный элемент? будет ли это равным объему операции? – logan
«будет равным» - по скорости это будет похоже. Funtionality-wise - даже не близко (у вас теперь есть другая структура данных) –
Я обновил свой вопрос с помощью вставки массива – logan