为什么使用SQLite事务插入数据速度这么慢
QTime *timer = new QTime;
timer->start();
QSqlQuery insertQuery;
QString query;
QVariantList one, two, three, four, five, six, seven, eight;
db.transaction(); //开始一个事务
insertQuery.prepare("insert into CheckRecord values(?,?,?,?,?,?,?,?)");
for (int i = 0; i < YValues.size(); i++)
{
for (int j = 0; j < YValues[i].size(); j++)
{
one << UUid::getUUid();
two << QString::number(j + 1);
three << TrackID;
four << checkTime[i];
five << stepList[i] * dx;
six << 0;
seven << YValues[i][j];
eight << DefectPercent[i][j];
}
}
insertQuery.addBindValue(one);
insertQuery.addBindValue(two);
insertQuery.addBindValue(three);
insertQuery.addBindValue(four);
insertQuery.addBindValue(five);
insertQuery.addBindValue(six);
insertQuery.addBindValue(seven);
insertQuery.addBindValue(eight);
insertQuery.execBatch();
db.commit(); //提交
qDebug() << timer->elapsed();
这样基本是插入100条数据就需要1秒,为什么我看别人的使用SQLite事务插入数据很快,而我的与别人相比就慢了不少,或者我要如何优化这个
timer->start();
QSqlQuery insertQuery;
QString query;
QVariantList one, two, three, four, five, six, seven, eight;
db.transaction(); //开始一个事务
insertQuery.prepare("insert into CheckRecord values(?,?,?,?,?,?,?,?)");
for (int i = 0; i < YValues.size(); i++)
{
for (int j = 0; j < YValues[i].size(); j++)
{
one << UUid::getUUid();
two << QString::number(j + 1);
three << TrackID;
four << checkTime[i];
five << stepList[i] * dx;
six << 0;
seven << YValues[i][j];
eight << DefectPercent[i][j];
}
}
insertQuery.addBindValue(one);
insertQuery.addBindValue(two);
insertQuery.addBindValue(three);
insertQuery.addBindValue(four);
insertQuery.addBindValue(five);
insertQuery.addBindValue(six);
insertQuery.addBindValue(seven);
insertQuery.addBindValue(eight);
insertQuery.execBatch();
db.commit(); //提交
qDebug() << timer->elapsed();
这样基本是插入100条数据就需要1秒,为什么我看别人的使用SQLite事务插入数据很快,而我的与别人相比就慢了不少,或者我要如何优化这个
...全文
相关推荐
提升SQLite数据插入效率低、速度慢的方法.doc
提升SQLite数据插入效率低、速度慢的方法.doc
SQLite速度评测代码
SQLite 作为一个轻量级嵌入式数据库,还是非常好用的。雨痕极力推荐~~~~~~
SQLITE数据库 UPDATE慢
SQLITE数据库 UPDATE慢,此为一个实例,供大家!
sqlite3性能优化源代码 数据插入 开启事务 执行准备 性能提升 每秒百万条数据写入
sqlite3写入性能优化,使用事务结合执行准备的方法,极大地提升写入性能, 使用内存数据库(:memory:)模式高速写入,最后转存磁盘,也可提升部分性能
sqlite避免重复插入数据
网上收集的sqlite避免重复插入数据。


