0
我試圖在SQLite數據庫中插入大約30,000條記錄。插入語句不插入任何記錄 - 但是如果我一次將它分成200個記錄塊,它似乎工作正常。它不會拋出異常 - 它實際上並不會插入記錄。必須有一些簡單的東西,我錯過了...SQLite插入不適用於大量記錄
app.applyChangesPriceBands = function(pbresultset, callback) {
app.db.transaction(
function(tx) {
var l = pbresultset.length;
var sql = "INSERT OR REPLACE INTO priceBands (prb_ID, stk_ItemNo, prb_Priceband, prb_CurrentPrice, prb_NormalPrice, prb_Deleted, prb_DateLastUpdated) " +
"VALUES (?, ?, ?, ?, ?, ?, ?)";
var e;
for (var i = 0; i < l; i++) {
e = pbresultset[i];
var params = [e.prb_ID, e.stk_ItemNo, e.prb_Priceband, e.prb_CurrentPrice, e.prb_NormalPrice, e.prb_Deleted, e.prb_DateLastUpdated];
tx.executeSql(sql, params);
}
}
);
app.finishedUpdating(app.updateType);
}
我對sqlite並不是特別「興奮」,但是我猜你的問題是使用緩衝區或緩存 - 30k行在一個動作中很重要,特別是當你正在執行作爲事務的動作時 - 即可摺疊(較高的開銷)。 –
您的數據庫是使用回滾日誌還是預寫日誌? – keltar