我想在数据库中进行10000次以上的插入.我用这个简单的代码:
int i = 0;
for (i = 0; i < model->rowCount(); i++)
{
query.clear();
query.prepare("INSERT INTO item (title, x, y, z) VALUES (:title, "
":x, :y, :z);");
query.bindValue(":title", title);
query.bindValue(":x", model->data(model->index(i, 0)));
query.bindValue(":y", model->data(model->index(i, 1)));
query.bindValue(":z", model->data(model->index(i, 2)));
if (! query.exec())
return;
}
Run Code Online (Sandbox Code Playgroud)
但它太慢了,而模型中发现的记录太多了.我怎样才能加快速度?可能Qt中有一些数据包插入功能吗?
我正在使用:Qt 4.7.0,PostgreSQL 8.4.8和Qt SQL驱动程序.
准备一次,执行多少?我对QT一点也不熟悉,但这可能会加速整个过程:
int i = 0;
query.prepare("INSERT INTO item (title, x, y, z) VALUES (:title, "
":x, :y, :z);");
for (i = 0; i < model->rowCount(); i++)
{
query.bindValue(":title", title);
query.bindValue(":x", model->data(model->index(i, 0)));
query.bindValue(":y", model->data(model->index(i, 1)));
query.bindValue(":z", model->data(model->index(i, 2)));
if (! query.exec())
return;
}
Run Code Online (Sandbox Code Playgroud)