如果使用相同的数据库连接运行两个SQL命令会怎样?

时间:2018-11-15 05:50:31

标签: postgresql

我正在编写一个程序来运行大量计算并将结果输出到PostgreSQL中。

我的平台是Windows Sever 2008,PostgreSQL10。我的程序是用C编写的。

结果将逐组产生,每组结束将创建一个额外的线程来写入输出。

现在,由于输出线程是一个一个地创建的,因此可能会同时创建两个或多个SQL输入命令,或者在新的调用该函数时正在处理前一个。

所以我的问题是:

(1)如果一个线程正在SQL处理中,而另一个线程称为PQexec(PGconn *conn, const char *query),会互相影响吗?

(2)如果我应用不同的PGconn怎么办?会加快速度吗?

1 个答案:

答案 0 :(得分:2)

如果在执行SQL语句的过程中尝试在连接上调用PQexec,则会导致协议冲突。那只是行不通。

如果并行使用多个数据库连接,则可以肯定会加快处理速度-并发事务是PostgreSQL设计的目的。