[使用Java查询PostgreSQL数据库时,我应该保持连接打开吗? [重复]

问题描述 投票:0回答:1

我正在使用Java连接到本地LAN上的小型PostgreSQL数据库并运行一些查询,我不确定什么是最佳实践。

我应该在每个查询后关闭连接还是为下一个查询打开连接?

java postgresql jdbc
1个回答
0
投票

[您可能想尽可能长时间地保持连接打开,但是实际上,除非您要进行数百个小查询并为每个查询重新连接,否则它可能无关紧要。

这里是正在发生的情况的概述,假设您的网络的ping时间约为1ms:

  1. 建立套接字连接,TCP握手应该花费<5ms
  2. 您的客户端具有当前的身份验证凭据,服务器将对其进行检查。这可能需要一些时间,具体取决于您如何进行配置,但是默认情况下,它会花费<1ms
  3. 您的客户端发送查询,服务器将需要填充各种内部数据结构和缓存(这将花费几毫秒),然后服务器将能够计划和执行查询,查询会根据查询而有所不同] >
  4. 更多详细信息herehere

如果重用此连接,则可以节省身份验证和目录加载的成本。因此,建议您尽可能重用连接,这样就不会每次都执行此工作。根据您的使用情况,这实际上可能会或可能不会有很大的不同。例如:

  • 如果您正在运行许多查询,每个查询都花费几毫秒,那么重用连接肯定会很有帮助
  • 如果您大多数情况下是要花很多秒才能执行的查询,那么这个费用可以忽略不计]
© www.soinside.com 2019 - 2024. All rights reserved.