在运行单进程和单线程应用程序时,是否有必要使用多个连接维护池呢?
我可以想到两个使用连接池的原因:
1. 如果应用程序频繁地访问数据库(打开、读取,然后关闭连接),比如每秒100次或更多次,使用连接池可以通过连接池来维护连接池和真实数据库之间的连接,池化的连接实际上不会被关闭/打开,从而提高程序的性能。
2. 在应用程序使用“全局连接”的场景中,一开始打开连接,退出时关闭连接。如果应用程序执行时间很长,比如10小时,那么由于某些未知原因(间歇性网络问题?)可能导致连接断开。通过使用连接池,连接池将自动重新连接到数据库。至少,在连接池中创建多个连接时,如果一个连接出现故障,下一个连接将被用于应用程序。