我有一个使用对象集合的应用程序,速度非常快。现在,我正在为持久性添加一个数据库,所以我开始将东西保存在 SQLite 数据库中。
但现在我发现要慢得多。我认为这是因为磁盘比内存慢。可以将数据库放在内存中吗?我在 SQLite 的文档中找到了一个Inmemory DB,但它在内存中,我需要持久性。
那么,是否有可能将数据库放在内存中以进行性能并在一段时间后保存到磁盘?
谢谢你和问候。
更新:
他们在回答中说这是因为我做了很多插入,这是真的。他们说我应该做一个批量插入。
我的代码在名为 Computers 的内存集合中如下所示:
foreach (line in lines)
{
Computers.Add(new Computer { ComputerName = line});
}
现在在数据库中:
foreach (line in lines)
{
string sql = "INSERT into computers VALUES ('"+computerName+"')";
SQLiteCommand command = new SQLiteCommand(sql, dbConnection); command.ExecuteNonQuery();
}
如何在单个批量插入中执行此操作?