【发布时间】:2016-09-18 22:34:27
【问题描述】:
我遇到了 sqlite3 无法刷新到磁盘的问题。我正在使用的代码如下。我的总文件列表超过 470k,并且该程序倾向于使用几 GB 的内存。程序运行时 test.db 为 0 字节,不使用日志。它仅在db.close() 运行时才开始写入磁盘。
var fs = require('fs');
var sqlite3 = require('sqlite3').verbose();
var db = new sqlite3.Database('test.db');
db.serialize(function () {
db.run("BEGIN;");
db.run("CREATE TABLE if not exists Files (name TEXT);");
db.run("COMMIT;");
var files = fs.readdirSync("./files/");
console.log("File list completed: " + files.length);
for (var i = 0; i < files.length; i++) {
db.run("INSERT INTO Files VALUES (?);",files[i]);
}
});
db.close();
我曾尝试删除 db.run("BEGIN;"); 和 db.run("COMMIT;");,但没有帮助。
错误?
我将此作为 github 上的错误报告
【问题讨论】:
标签: node.js sqlite node-sqlite3