私はcppでSOCIを使用しています
statement sql =
(db.prepare << "insert into table(bunch of columns) "
"values(:s,:e,:qs,:qe, :ts,:te, :qi, :ti,:tutr, :q_oc,:q_g, "
":q_ref, :t_loc, :t_org, :t_ref)",
use(s, use(e), use(q), use(qutop),
use(tart), use(top), use(qame), use(tame),
use(utr), use(qoc), use(qrg), use(qref),
use(toc), use(trg), use(tef));
ここで、use() 内のすべての変数は一括入力用のベクトルです。
を使用すると、
sql.execute(true);
ステートメントは実行されましたが、割り当てられたメモリは決して解放されません。
約 1TB の大きなファイルがあり、これを実行すると常にメモリ オーバーフローが発生します。sql.execute() によって行われたメモリ割り当てをクリアする方法はありますか。
今のところ、使用して回避策を実行しました
db << "insert into table(bunch of columns) "
"values(:s,:e,:qs,:qe, :ts,:te, :qi, :ti,:tutr, :q_oc,:q_g, "
":q_ref, :t_loc, :t_org, :t_ref)",
use(s, use(e), use(q), use(qutop),
use(tart), use(top), use(qame), use(tame),
use(utr), use(qoc), use(qrg), use(qref),
use(toc), use(trg), use(tef);
しかし、私は上記のステートメントを複数回使用する必要があるため、statement.execute() を使用したいと思います