我正在運行node-mysql將數據插入到運行DynamoDB的MySQL數據庫中。單個批處理查詢或映射查詢的效率?
我有內部進行「小」插入查詢for循環的選擇:
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(key,value)VALUE' ...這甚至不會運行,因爲它應該是'VALUES'。但是,除此之外,你是否計劃在兩種'INSERT'語法中包含多個記錄?如果是這樣,爲什麼你會期望一個比另一個顯着更快/更慢? –