QT 快速插入数据 10万数据2.8秒
本帖最后由 baoniu 于 2013-9-23 00:14 编辑09年的机器,4G内存,AMD5200
插入数据库用了2797毫秒QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("sql.db");
QSqlQuery query;
query.exec("create table student(id int primary key,name varchar(20))");
QTime *timer=new QTime;
timer->start();
if(query.at()<100000){
db.transaction(); //开始一个事务
query.prepare("insert into student values(?,?)");
QVariantList uid,uname;
for(int i=1;i<100000;i++)
{
uid<<i;
uname<<QString("%1").arg(qrand());
}
qDebug()<<"ready!now";
query.addBindValue(uid);
query.addBindValue(uname);
query.execBatch();
db.commit(); //提交
}
qDebug()<<timer->elapsed();
sqlite是很快的。 yafeilinux 发表于 2013-9-23 13:44 static/image/common/back.gif
sqlite是很快的。
唉,是的,在mysql里面花了28秒…… 我用mysql插入1000条记录就用了28秒,不过插入的记录比较大,一个记录3000个字节左右,插入之前还把数据转换成QString。
页:
[1]