次のコードが実行に 1.2GB のメモリを使用するのはなぜですか? generate_series に渡される数値に関係なく、メモリ使用量は比較的一定であると予想していましたが、着実に増加しています。お願いします - 私が何か間違ったことをしていると教えてください!
if (!PQsendQuery(conn, "select generate_series(1, 10000000)"))
exit(1);
int i, value;
while (res = PQgetResult(conn)) {
for (i = 0; i < PQntuples(res); i++) {
value = atoi(PQgetvalue(res, i, 0));
}
PQclear(res);
}
printf("%d\n", value);
PQfinish(conn);
この例の完全なソース コードは、pastebinに置きました。