我有一个 Node.js 进程监控应用程序,当某个动作发生时写入数据库。此数据库有一个前端,当两者都尝试访问数据时会导致并发错误。内部过程并不重要,但是每秒大约有 3 次写入数据库(我认为这仍然很慢)。这是我的插入语句:
db.run(query, data, function(e)
{
if (e)
{
console.log("Could not insert a Sync!")
console.log(e.message)
}
});
我的问题是,我是否应该为每个插入打开和关闭数据库:
db = new sql.Database('../db', sql.OPEN_READWRITE, (e) =>
{
if (e)
{
console.log("Could not connect to the DB!")
console.log(e.message)
}
})
db.run(query, data, function(e)
{
if (e)
{
console.log("Could not insert a Sync!")
console.log(e.message)
}
});
db.close()
或者在进程开始时打开并让 db 对象保持打开状态?我希望减少并发错误的数量,我正在研究 WAL 选项。谢谢