1
私はPostgresDB(55GB)に大きなテーブルを持っています。 QTでC++でスキャンし、結果を要約してDBに送り返したいと思います。私が理解する限り、デフォルトでは、QSqlQueryはすべてのデータをメイン・メモリに転送します。オブジェクトの明示的なバッファサイズを指定することは可能ですか? QT/Postgresに、データをコミットしてからC++プログラムに送信した後ではなく、徐々に答えを出したいと言うことも可能ですか?QSqlQueryバッファサイズ
私が使用していたコードは以下の通りです:
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setHostName("server");
db.setDatabaseName("db");
db.setUserName("user");
db.setPassword("pass");
bool ok = db.open();
QSqlQuery query;
query.setForwardOnly(true);
query.prepare("select attributes veryLargeTable");
while (query.next()) {
int i = query.value(0).toInt(); // and work with the data
}
私は最近、ネット上で答えを見ましたが、私は、任意の成功せず、再び答えを探して時間を過ごしました。