【发布时间】:2011-05-09 09:50:41
【问题描述】:
我正在编写一个应用程序,它会生成大量数据以存储在数据库中。
DB 模式非常简单:它是一个只有 4 列的表,但我必须用超过 30000 行来填充它。
我使用 SQLite 和 QSql 作为 API。
数据的生成速度非常快(没有睡眠),我正在使用 QSqlQuery 一次插入一行。
但是,存储 100 行似乎需要 7-8 秒(我使用 QTime 进行计时)。
我尝试使用 QSqlTableModel,但没有发现性能提升,甚至每 1000 行调用一次 QSqlTableModel::submitAll(QTime 显示 1000 行需要 70-80 秒)。
有什么方法可以更快地存储行吗?用 SQLite 填充表的最快方法是什么?
【问题讨论】: