什么';在SQLite中填充表格的最快方法是什么?

什么';在SQLite中填充表格的最快方法是什么?,sqlite,qtsql,Sqlite,Qtsql,我正在编写一个应用程序,它生成大量数据存储在数据库中 DB模式非常简单:它是一个只有4列的表,但我必须用30000多行填充它 我使用SQLite和QSql作为API 数据生成速度非常快(无休眠),我使用QSqlQuery每次插入一行。 然而,似乎需要7-8秒来存储100行(我使用QTime进行时间计数) 我尝试使用QSqlTableModel,但没有发现任何性能改进,甚至每1000行调用QSqlTableModel::submitAll(QTime显示1000行70-80秒) 有没有办法更快地存

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

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

我使用SQLite和QSql作为API

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

我尝试使用
QSqlTableModel
,但没有发现任何性能改进,甚至每1000行调用
QSqlTableModel::submitAll
QTime
显示1000行70-80秒)


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

您可以尝试查看是否有;它们很昂贵,因为它们必须同步到磁盘才能提交


还请记住,SQLite在读取方面的优化程度更高。

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

我不得不使用“提交”而不是“结束”,但它成功了:事实上,这是一个与事务相关的问题。