Я запускаю node-mysql для вставки данных в мою базу данных MySQL, использующую DynamoDB.Одиночный пакетный запрос или сопоставленные запросы для эффективности?
У меня есть варианты выполнения запросов вставки «мини» внутри для цикла:
var myData= [{"key": "abc", "value": "xyz"},{..},{..}]
var mapData = myData.map(function(data){
var key = data.key;
var value = data.value;
var payload = {
key: key,
value: value
};
connection.query("INSERT INTO mytable SET ?", payload, function(err,result){
//Do stuff
});
});
В качестве альтернативы можно использовать вложенный подход массива:
myData = [["key", "value"], [.., ..], [.., ..]]
connection.query("INSERT INTO mytable (key, value) VALUE ?", [myData], function(err, result){
//Do Stuff..
});
Мои база данных очень велики и Массив myData также будет очень большим.
Какой метод является наиболее эффективным?
'INSERT INTO mytable (ключ, значение) VALUE' ... это даже не запускается, потому что это должно быть« VALUES ». Но это в стороне, планируете ли вы включить несколько записей в обоих вариантах синтаксиса «INSERT»? Если да, то почему вы ожидаете, что он будет значительно быстрее/медленнее, чем другой? –