首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我是否应该使用dataset类作为缓存来加速SQLite加载

我是否应该使用dataset类作为缓存来加速SQLite加载
EN

Stack Overflow用户
提问于 2012-11-25 19:32:19
回答 1查看 111关注 0票数 1

在我的WinForms应用程序中,我将大量数据从二进制文件加载到SQLite DB中。我在数据库上进行查找,以确定是否要添加每个新数据。

代码语言:javascript
运行
复制
If LookUpResult Then
   AddNewData
Else
   DiscardNewData
End If

这很慢。插入似乎需要很长时间。我应该使用DataTable或DataSet类将数据加载到内存中,然后作为后台任务写入SQLite DB吗?或者,一次从DataTable对象插入多个行的成本会更低吗?

我之前将所有数据加载到一个自定义类中,这很快,但可能会达到内存限制,因此移动到DB。我本以为SQLite会将插入内容缓存到内存中,但事实似乎并非如此。

谢谢你的建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-26 16:54:58

为确保崩溃一致性,更改后的数据将在每个事务结束时与磁盘同步。如果您不使用显式事务,则每个命令将获得其自己的自动事务,这意味着您将获得每个命令的同步开销。

对所有插入操作使用一个事务。(只要您通过相同的数据库连接,您自己的更改就会可见。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13550612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档