gpt4 book ai didi

c++ - libpq 中的查询流水线在哪里?

转载 作者:行者123 更新时间:2023-12-05 02:46:31 29 4
gpt4 key购买 nike

我正在使用 C++ 和 libpq(libpqxx 非常不稳定)开发高负载服务器应用程序。我在线程中使用异步查询来提高性能。但是我发现,例如,PQsendQuery("SELECT 1;SELECT 1;") 比执行 PQsendQuery("SELECT 1") 两次更快。

有没有什么方法可以调用一堆准备好的语句或其他方法来流水线或使用batch mode

已编辑:摘要:如何在 libpq 中获得最佳性能?

最佳答案

libpq 支持 PostgreSQL 14 中的查询流水线。只要您使用新的 libpq,就可以在旧的 PostgreSQL 版本上使用它。参见 commit acb7e4eb6b .

I wrote a patch for it in 2016 as a bit of a fire-and-forget weekend hack由于许多其他人的努力,它已变成一个成熟的功能并合并到 PostgreSQL 14 中。

PostgreSQL 14 的文档讨论了 pipeline mode .

请注意,PgJDBC 多年来一直使用标准 JDBC 批处理接口(interface)支持批处理模式。对于许多应用程序,您可以使用 PgJDBC 批处理实现类似的性能改进。

psycopg2 目前正在添加或已经添加了基于 libpq 的批处理和管道支持。

关于c++ - libpq 中的查询流水线在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65469533/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com