1 億 5000 万行を含むテーブルを持つデータベースがあります。列は次のとおりです。
id (INTEGER), value_one (INTEGER), value_two (INTEGER), value_3 (INTEGER)
このすべてのデータを にインポートする必要がありますが、クエリを実行しているときにQList
Qt がアサートするという問題が発生しています。~700 万のエントリを含むテーブルで同じコードを実行でき、エラーなく動作します。qAllocMore: 'Requested size is too large!', file tools\qbytearray.cpp, line 73
SELECT
これは私のSELECT
声明です:
bool e = query.exec("SELECT * FROM DocumentTerms");
if (!e) {
qWarning() << __FUNCTION__ << "\tError: " << query.lastError().text();
}
while (query.next()) {
int docId = query.value(1).toInt();
int termId = query.value(2).toInt();
int frequency = query.value(3).toInt();
//store it in a QHash<int, QPair<int, int>>
}
ループを反復しているように見えquery.next
ますが、約 1600 万回の反復後にアサートがポップアップします。何が原因ですか?