首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQLite中填充表的最快方法是什么?

在SQLite中填充表的最快方法是什么?
EN

Stack Overflow用户
提问于 2011-05-09 17:50:42
回答 2查看 1.3K关注 0票数 1

我正在编写一个应用程序,该应用程序生成大量数据以存储在数据库中。

DB模式非常简单:它是一个只有4列的表,但我必须用超过30000行来填充它。

我使用SQLite和QSql作为API。

数据的生成速度非常快(没有休眠),我使用QSqlQuery每次插入一行。然而,它似乎需要7-8秒来存储100行(我使用QTime来计算时间)。

我尝试使用QSqlTableModel,但我注意到没有任何性能改进,甚至每1000行调用一次QSqlTableModel::submitAll (QTime对1000行显示70-80秒)。

有没有更快的存储行的方法?用SQLite填充表的最快方法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-09 17:59:23

您可以尝试查看是否有transactions set up correctly;它们的开销很大,因为它们必须同步到磁盘才能提交。

还要记住,SQLite无论如何都是针对阅读进行了更多的优化。

票数 1
EN

Stack Overflow用户

发布于 2014-06-20 03:35:21

您可以尝试在开始时删除任何索引,然后在导入所有记录后重新添加它们。当然,如果您先清空表或只是添加新记录,结果会有所不同。

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

https://stackoverflow.com/questions/5935203

复制
相关文章

相似问题

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