哪个会提高我的性能,哪个会提高以下方案phonegap sqllite db的性能?
场景: 我有1000个语句的多个插入语句。
方法: 1.为所有插入语句设置一个事务[db.transaction]
db.transaction(function(tx){
data.forEach(function(dataItem) {
tx.executeSql("INSERT INTO test (id, name) VALUES (?,?)", [dataItem.id, dataItem.name]});
}, errorInsertingSectorTable, successInsertSector);}
或 2.对于每个具有单独db.transaction的插入语句
db.transaction(function(tx){
data.forEach(function(dataItem) {
dbExecution.databaseVar.transaction(function(tx) {
tx.executeSql("INSERT INTO test (id, name) VALUES (?,?)", [dataItem.id, dataItem.name]});
});}, error, success);}
哪种方法具有快速性能或者对于phonegap应用程序和最佳方法的开销较小? 请帮助我们澄清一下。
答案 0 :(得分:-1)
sqlite中的批量插入示例:Is it possible to insert multiple rows at a time in an SQLite database?
在事务中执行批量插入比运行许多请求更快。想象一下,减少一次批量请求的通信量。如果你有很多行,你可以把它们分成几块。
编辑:由于建议不够,让我再给你一些想法。