Ich möchte so schnell wie möglich viele Parameter in die Postgres-Tabelle einfügen.libpqxx: Wie man ein Array von Parametern bindet
Jetzt verschwende ich zu viel Zeit für die Bindung Parameter nacheinander. Code sieht fast wie folgt aus:
pqxx::connection my_connection(c_string);
my_connection.prepare("insert_to_db", "INSERT INTO t (id, name) VALUES ($1, $2));
pqxx::work W(my_connection);
for (int i = 0; i < 10000; i++)
{
W.prepared("insert_to_db")(i)("Max").exec();
}
W.commit();
Wie ich sehe, commit
10 000 Elemente nehmen 0.001 s oder sogar weniger, aber die Bindung dauert etwa 10 Sekunden.
Ich möchte alle Parameter als ein Array von Werten binden. Wie macht man das mit pqxx? Oder gibt es einen besseren Ansatz zur Minimierung der Zeit?
[Funktionen für den COPY-Befehl zugeordnet] (https://www.postgresql.org/docs/current/static/libpq-copy.html) – Abelisto